<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Проблема с созданием кнопок для Telegram-бота]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=15394&amp;type=atom" />
	<updated>2020-05-27T13:48:30Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=15394</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Проблема с созданием кнопок для Telegram-бота]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=139749#p139749" />
			<content type="html"><![CDATA[<p>Решено.</p><div class="codebox"><pre><code>
keyboard =
( 
  {&quot;keyboard&quot;:[ [&quot;Command 1&quot;, &quot;Command 2&quot;], [&quot;Command 3&quot;, &quot;Command 4&quot;] ], &quot;resize_keyboard&quot; : true } 
)

SendMessageWithButton(text, chat_id, keyboard)
{
	BotToken = ; token
	url := &quot;https://api.telegram.org/bot&quot; . BotToken . &quot;/sendMessage?text=&quot; . text . &quot;&amp;chat_id=&quot; . chat_id . &quot;&amp;reply_markup=&quot; . Keyboard
	json_message := URLDownloadToVar(url)
	msgbox % json_message ; для проверки
	return
}

URLDownloadToVar(url,ByRef variable=&quot;&quot;)
{      
	try
	{  
		hObject:=ComObjCreate(&quot;WinHttp.WinHttpRequest.5.1&quot;)
		hObject.Open(&quot;GET&quot;,url)
		hObject.Send()
		variable:=hObject.ResponseText
		return variable
	}
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Lencore228]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40862</uri>
			</author>
			<updated>2020-05-27T13:48:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=139749#p139749</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Проблема с созданием кнопок для Telegram-бота]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=139732#p139732" />
			<content type="html"><![CDATA[<p>Привет. Я начал делать ботов для Telegram, с обычными командами в принципе всё ок, но проблемы начались, когда понадобились более сложные функции, как, например, заливка изображений. Но это уже было описано на просторах интернета, и решение нашлось.</p><p>Теперь проблема такая: как заставить бота показать кнопки после отправки сообщений? В документации по АПИ приводятся только описания функций, а примеров не показано. Более того, я нигде не смог найти адекватное применение с помощью обычного URL, только намёки.</p><p>Итак, для отправки юзеру клавиатуры нужно указать &quot;массив массивов кнопок&quot; в параметре reply_markup. Написано, что это должен быть JSON, я его сделал, но всё равно посылается обычный текст.</p><p>Вот так выглядит отправка обычного сообщения, всё окей:<br /></p><div class="codebox"><pre><code>UrlDownloadToFile, https://api.telegram.org/botTOKEN/sendmessage?chat_id=%id%&amp;text=%text%&amp;reply_to_message_id=%reply%, %A_ScriptDir%\check.rups</code></pre></div><p>А вот так должна выглядеть отправка сообщения с последующей отправки клавиатуры:<br /></p><div class="codebox"><pre><code>UrlDownloadToFile, https://api.telegram.org/botTOKEN/sendmessage?chat_id=%id%&amp;text=%text%&amp;reply_markup={&quot;ReplyKeyboardMarkup&quot;:{&quot;keyboard&quot;:[[{&quot;KeyboardButton&quot;:{&quot;text&quot;:&quot;test&quot;}}]]}}, %A_ScriptDir%\check.rups</code></pre></div><p>Но код посылает также одну кнопку. Чтобы было понятнее, вот отдельно JSON:<br /></p><div class="codebox"><pre><code>{
  &quot;ReplyKeyboardMarkup&quot;: {
    &quot;keyboard&quot;: [
      [
        {
          &quot;KeyboardButton&quot;: {
            &quot;text&quot;: &quot;test&quot;
          }
        }
      ]
    ]
  }
}</code></pre></div><p>ВОПРОС: как правильно оформить отправку запроса АПИ, чтобы юзеру показывалась нужная кнопка? Хочу делать это удобно и просто. На других языках есть готовые либы, а тут нужно как-то все сделать всё на коленке.</p>]]></content>
			<author>
				<name><![CDATA[Lencore228]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40862</uri>
			</author>
			<updated>2020-05-26T19:16:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=139732#p139732</id>
		</entry>
</feed>
