<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Проблема с созданием кнопок для Telegram-бота]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=15394</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=15394&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Проблема с созданием кнопок для Telegram-бота».]]></description>
		<lastBuildDate>Wed, 27 May 2020 13:48:30 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Проблема с созданием кнопок для Telegram-бота]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139749#p139749</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Lencore228)]]></author>
			<pubDate>Wed, 27 May 2020 13:48:30 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139749#p139749</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Проблема с созданием кнопок для Telegram-бота]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=139732#p139732</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (Lencore228)]]></author>
			<pubDate>Tue, 26 May 2020 19:16:40 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=139732#p139732</guid>
		</item>
	</channel>
</rss>
