<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.soulruins.ru/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Philip Wiki - docs:blog:2018:03</title>
        <description>Персональный wiki-сайт</description>
        <link>https://wiki.soulruins.ru/</link>
        <lastBuildDate>Fri, 17 Apr 2026 18:05:57 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://wiki.soulruins.ru/_media/wiki/dokuwiki.svg</url>
            <title>Philip Wiki</title>
            <link>https://wiki.soulruins.ru/</link>
        </image>
        <item>
            <title>Telegram-Bot на PowerShell (часть 2)</title>
            <link>https://wiki.soulruins.ru/docs/blog/2018/03/ps_telegram-bot_part_2?rev=1546866980&amp;do=diff</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;telegram-bot_na_powershell_chast_2&quot;&gt;Telegram-Bot на PowerShell (часть 2)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Ну что же. Я собрался с силами и решил, что пришло время второй части про Telegram-бота на &lt;abbr title=&quot;Windows PowerShell — расширяемое средство автоматизации от Microsoft, состоящее из оболочки с интерфейсом командной строки и сопутствующего языка сценариев. Впервые публично язык был продемонстрирован на Профессиональной конференции разработчиков (англ. Professional Developers Conference, PDC) в сентябре 2003 года под кодовым названием Monad.&quot;&gt;Powershell&lt;/abbr&gt;. Если в первой части мы рассматривали основу: как «слушать» своего бота, то во второй приступим к его ответам.
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;https://wiki.soulruins.ru/_media/docs/blog/2018/03/ee6f90d2bcba222fe4.jpg&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.soulruins.ru/docs/blog/2017/09/ps_telegram-bot_part_1&quot; class=&quot;wikilink1&quot; title=&quot;docs:blog:2017:09:ps_telegram-bot_part_1&quot; data-wiki-id=&quot;docs:blog:2017:09:ps_telegram-bot_part_1&quot;&gt;В первой части&lt;/a&gt; уже была ссылка на статью данного блога, где я описывал функцию по отправке сообщения, тем не менее я повторюсь, почистим в ней код и сделаем его чуть более логичным.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Telegram-Bot \u043d\u0430 PowerShell (\u0447\u0430\u0441\u0442\u044c 2)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;telegram-bot_na_powershell_chast_2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-870&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;otpravka_soobschenija_botom&quot;&gt;Отправка сообщения ботом&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Начнём с того, что за отправку сообщений отмечает метод &lt;a href=&quot;https://core.telegram.org/bots/api#sendmessage&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://core.telegram.org/bots/api#sendmessage&quot; rel=&quot;ugc nofollow noopener&quot;&gt;sendMessage&lt;/a&gt;, его средствами мы и будем отправлять сообщения от имени бота.
&lt;/p&gt;

&lt;p&gt;
Пример функции &lt;code&gt;Send-TelegramMessage&lt;/code&gt;:
&lt;/p&gt;
&lt;pre class=&quot;code powershell&quot;&gt;&lt;span class=&quot;kw3&quot;&gt;function&lt;/span&gt; Send&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;TelegramMessage &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;CmdletBinding&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
    &lt;span class=&quot;kw3&quot;&gt;param&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re3&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$chat_id&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re3&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$text&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;parameter&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;Mandatory&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$true&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;HelpMessage&lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Enter Telegram Token&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re3&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$tgm_token&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;parameter&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;Mandatory &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$false&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;ValidateSet&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;Markdown&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;HTML&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re3&quot;&gt;string&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$parse_mode&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Markdown&amp;quot;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;switch&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$nopreview&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;switch&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$silent&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;br0&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span class=&quot;re3&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$replyto&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt;
        &lt;span class=&quot;re0&quot;&gt;$reply_markup&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;re0&quot;&gt;$parameters&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;chat_id&amp;quot;&lt;/span&gt;                  &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$chat_id&lt;/span&gt;
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;text&amp;quot;&lt;/span&gt;                     &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$text&lt;/span&gt;
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;parse_mode&amp;quot;&lt;/span&gt;               &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$parse_mode&lt;/span&gt;
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;disable_notification&amp;quot;&lt;/span&gt;     &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$silent&lt;/span&gt;.ToString&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;disable_web_page_preview&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$nopreview&lt;/span&gt;.ToString&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;reply_to_message_id&amp;quot;&lt;/span&gt;      &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$replyto&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
    &lt;span class=&quot;kw3&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;re0&quot;&gt;$reply_markup&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;re0&quot;&gt;$parameters&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$reply_markup&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
    Invoke&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;WebRequest `
        &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;Uri &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;st0&quot;&gt;&amp;quot;https://api.telegram.org/bot$tgm_token/sendMessage&amp;quot;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt; `
        &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;Method Post `
        &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;ContentType &lt;span class=&quot;st0&quot;&gt;&amp;quot;application/json;charset=utf-8&amp;quot;&lt;/span&gt; `
        &lt;span class=&quot;kw5&quot;&gt;-Body&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;ConvertTo&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;Json &lt;span class=&quot;kw5&quot;&gt;-Depth&lt;/span&gt; &lt;span class=&quot;nu0&quot;&gt;20&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;Compress &lt;span class=&quot;kw5&quot;&gt;-InputObject&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$parameters&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
Простейший пример работы функции. Отправляем markdown-сообщение в чат, при этом отключая оповещения о нём
&lt;/p&gt;
&lt;pre class=&quot;code powershell&quot;&gt;Send&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;TelegramMessage &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;chat_id &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;id_чата&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;text &lt;span class=&quot;st0&quot;&gt;&#039;Какой-то *форматированный* текст и ссылка для парсинга http://yandex.ru&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;silent&lt;/pre&gt;

&lt;p&gt;
В ответ должны увидеть что-то вроде этого:
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;https://wiki.soulruins.ru/_media/docs/blog/2018/03/18-03-2018_113633.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Подробно описывать все параметры функции смысла не вижу, это всё сделано в документаци метода, ссылку на который я дал выше.
&lt;/p&gt;

&lt;p&gt;
Где взять &lt;code&gt;chat_id&lt;/code&gt;? Ну как же? В первой части мы научились получать сообщения из чата, так вот внутри переменной &lt;code&gt;$content&lt;/code&gt; (если конкретнее: &lt;code&gt;$content.result.message.chat.id&lt;/code&gt;) мы и найдём номер чата.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0431\u043e\u0442\u043e\u043c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;otpravka_soobschenija_botom&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;871-3469&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;knopochki&quot;&gt;Кнопочки!&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Вот здесь уже начинается немного более вкусная история. &lt;del&gt;Я намеренно убрал из функции выше параметр&lt;/del&gt; Уже вернул параметр &lt;code&gt;reply_markup&lt;/code&gt; обратно, чтобы не дублировать функцию дважды, речь о котором сейчас пойдёт. Он имеет сразу несколько типов, но сейчас мы разберем самый, на мой взгляд, интересный: &lt;a href=&quot;https://core.telegram.org/bots/api#inlinekeyboardmarkup&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://core.telegram.org/bots/api#inlinekeyboardmarkup&quot; rel=&quot;ugc nofollow noopener&quot;&gt;InlineKeyboardMarkup&lt;/a&gt;. Это своего рода клавиатура, которая добавляется к сообщению бота.
&lt;/p&gt;

&lt;p&gt;
&lt;img src=&quot;https://wiki.soulruins.ru/_media/docs/blog/2018/03/18-03-2018_120033.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
Как написано в документации, &lt;code&gt;inline_keyboard&lt;/code&gt; это массив из массивов &lt;code&gt;InlineKeyboardButton&lt;/code&gt;. Вот так это будет выглядеть на &lt;abbr title=&quot;Windows PowerShell — расширяемое средство автоматизации от Microsoft, состоящее из оболочки с интерфейсом командной строки и сопутствующего языка сценариев. Впервые публично язык был продемонстрирован на Профессиональной конференции разработчиков (англ. Professional Developers Conference, PDC) в сентябре 2003 года под кодовым названием Monad.&quot;&gt;powershell&lt;/abbr&gt; (для наглядности и удобства, массив с кнопками &lt;code&gt;$buttons&lt;/code&gt; я вынес за пределы основного &lt;code&gt;$reply_markup&lt;/code&gt;):
&lt;/p&gt;

&lt;p&gt;
Пример массива из кнопок:
&lt;/p&gt;
&lt;pre class=&quot;code powershell&quot;&gt;&lt;span class=&quot;re0&quot;&gt;$buttons&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;
    &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;text&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;⬅ Налево&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;callback_data&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Пойду налево&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
    &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;text&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;➡ Направо&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;callback_data&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Пойду направо&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;
    &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;text&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;⛔ Тут постою&amp;quot;&lt;/span&gt;
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;callback_data&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;st0&quot;&gt;&amp;quot;Останусь стоять на месте&amp;quot;&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;re0&quot;&gt;$reply_markup&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
    &lt;span class=&quot;st0&quot;&gt;&amp;quot;reply_markup&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
        &lt;span class=&quot;st0&quot;&gt;&amp;quot;inline_keyboard&amp;quot;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;re0&quot;&gt;$buttons&lt;/span&gt;
    &lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
&lt;span class=&quot;co1&quot;&gt;# а пеперь отправим массив reply_markup в нашу функцию&lt;/span&gt;
Send&lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;TelegramMessage &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;chat_id &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt;id_чата&lt;span class=&quot;sy0&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;text &lt;span class=&quot;st0&quot;&gt;&#039;*Куда пойдёшь* от камня?&#039;&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;silent &lt;span class=&quot;sy0&quot;&gt;-&lt;/span&gt;reply_markup&lt;/pre&gt;

&lt;p&gt;
Этот пример хорош ещё и тем, что по нему понятно, как «строить» каркас из кнопок. Поле &lt;code&gt;callback_data&lt;/code&gt; это то, что мы сможем отловить в переменной &lt;code&gt;$content&lt;/code&gt;  после нажатия на кнопку. Подробнее в описании &lt;abbr title=&quot;Application Programming Interface&quot;&gt;API&lt;/abbr&gt;.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041a\u043d\u043e\u043f\u043e\u0447\u043a\u0438!&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;knopochki&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:2,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;3470-5762&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;rezjume&quot;&gt;Резюме&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Кажется пока всё. &lt;code&gt;inline_keyboard&lt;/code&gt; умеет не только так, но я снова тыкаю пальцем в документацию. Основу я описал, всё остальное аналогично или очень похоже.
&lt;/p&gt;


&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;https://wiki.soulruins.ru/tags/telegram?do=showtag&amp;amp;tag=telegram&quot; class=&quot;wikilink1&quot; title=&quot;tags:telegram&quot; rel=&quot;tag&quot;&gt;telegram&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.soulruins.ru/tags/bot?do=showtag&amp;amp;tag=bot&quot; class=&quot;wikilink1&quot; title=&quot;tags:bot&quot; rel=&quot;tag&quot;&gt;bot&lt;/a&gt;,
	&lt;a href=&quot;https://wiki.soulruins.ru/tags/powershell?do=showtag&amp;amp;tag=powershell&quot; class=&quot;wikilink1&quot; title=&quot;tags:powershell&quot; rel=&quot;tag&quot;&gt;powershell&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0420\u0435\u0437\u044e\u043c\u0435&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;rezjume&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;5763-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 07 Jan 2019 13:16:20 +0000</pubDate>
        </item>
    </channel>
</rss>
