bot_on_php
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| bot_on_php [2021/02/14 20:17] – chifek | bot_on_php [2023/09/14 06:06] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 16: | Line 16: | ||
| 1) Открываете чат с @BotFather; | 1) Открываете чат с @BotFather; | ||
| + | |||
| 2) Вводите или выбираете из списка команду /newbot; | 2) Вводите или выбираете из списка команду /newbot; | ||
| + | |||
| 3) Отправляете желаемое название для бота; | 3) Отправляете желаемое название для бота; | ||
| + | |||
| 4) Пишете юзернейм бота, по которому его будут находить через поиск. Обязательно на конце вашего юзернейма должно быть слово «bot» или «_bot». Например, | 4) Пишете юзернейм бота, по которому его будут находить через поиск. Обязательно на конце вашего юзернейма должно быть слово «bot» или «_bot». Например, | ||
| + | |||
| 5) По желанию можно сразу настроить полное или краткое описание, | 5) По желанию можно сразу настроить полное или краткое описание, | ||
| Line 38: | Line 42: | ||
| Пример настройки самоподписанного сертификата из официальной документации Telegram. | Пример настройки самоподписанного сертификата из официальной документации Telegram. | ||
| + | |||
| ===== Шаг 3: пишем код ===== | ===== Шаг 3: пишем код ===== | ||
| Line 45: | Line 50: | ||
| Перво-наперво привязываем через метод SetWebhook бота к нашему файлу-обработчику. Сделать это можно при помощи библиотеки, | Перво-наперво привязываем через метод SetWebhook бота к нашему файлу-обработчику. Сделать это можно при помощи библиотеки, | ||
| + | < | ||
| https:// api. telegram. org/ | https:// api. telegram. org/ | ||
| + | </ | ||
| где | где | ||
| + | < | ||
| 375466075: | 375466075: | ||
| https:// yousitehere. ru/ | https:// yousitehere. ru/ | ||
| + | </ | ||
| Открыв в браузере эту ссылку, | Открыв в браузере эту ссылку, | ||
| + | |||
| + | |||
| Переходим к самому главному — обработке этих самых запросов и написанию функционала бота. | Переходим к самому главному — обработке этих самых запросов и написанию функционала бота. | ||
| - | Ниже представлен полный листинг файла-обработчика: | ||
| + | Ниже представлен полный листинг файла-обработчика: | ||
| - | < | ||
| - | <?php | ||
| - | include(' | ||
| - | use Telegram\Bot\Api; | ||
| + | < | ||
| + | include(' | ||
| + | use Telegram\Bot\Api; | ||
| $telegram = new Api(' | $telegram = new Api(' | ||
| $result = $telegram -> getWebhookUpdates(); | $result = $telegram -> getWebhookUpdates(); | ||
| - | | ||
| $text = $result[" | $text = $result[" | ||
| $chat_id = $result[" | $chat_id = $result[" | ||
| $name = $result[" | $name = $result[" | ||
| $keyboard = [[" | $keyboard = [[" | ||
| - | |||
| if($text){ | if($text){ | ||
| if ($text == "/ | if ($text == "/ | ||
| Line 100: | Line 107: | ||
| $telegram-> | $telegram-> | ||
| } | } | ||
| - | ?> | ||
| </ | </ | ||
| Line 107: | Line 113: | ||
| - | 1. Сначала мы подключаем скачанную библиотеку, | + | ==== 1. Сначала мы подключаем скачанную библиотеку, |
| < | < | ||
| Line 114: | Line 121: | ||
| </ | </ | ||
| - | 2. Создаем экземпляр класса в переменной $telegram и передаем в него наш токен. | + | ==== 2. Создаем экземпляр класса в переменной $telegram и передаем в него наш токен. |
| + | |||
| В переменной $result получаем информацию о сообщении, | В переменной $result получаем информацию о сообщении, | ||
| Line 123: | Line 131: | ||
| </ | </ | ||
| - | 3. Затем определяем главные переменные: | + | ==== 3. Затем определяем главные переменные: |
| + | |||
| + | < | ||
| $text = $result[" | $text = $result[" | ||
| $chat_id = $result[" | $chat_id = $result[" | ||
| $name = $result[" | $name = $result[" | ||
| + | </ | ||
| - | 4. Создаем нашу клавиатуру, | ||
| + | ==== 4. Создаем нашу клавиатуру, | ||
| + | |||
| + | |||
| + | |||
| + | < | ||
| $keyboard = [[" | $keyboard = [[" | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== 5. Теперь, | ||
| - | 5. Теперь, | ||
| В самом начале проверяем, | В самом начале проверяем, | ||
| Line 150: | Line 168: | ||
| Если нет, то отправляем пользователю с помощью метода sendMessage сообщение с просьбой ввести текстовое сообщение. | Если нет, то отправляем пользователю с помощью метода sendMessage сообщение с просьбой ввести текстовое сообщение. | ||
| - | 6. Рассмотрим вариант, | + | ==== 6. Рассмотрим вариант, |
| Line 169: | Line 188: | ||
| Реализуется это с помощью метода replyKeyboardMarkup, | Реализуется это с помощью метода replyKeyboardMarkup, | ||
| + | < | ||
| ' | ' | ||
| ' | ' | ||
| ' | ' | ||
| + | </ | ||
| + | |||
| + | ==== 7. После появления клавиатуры пользователь явно захочет попробовать потыкать на расположенные на ней кнопки, | ||
| - | 7. После появления клавиатуры пользователь явно захочет попробовать потыкать на расположенные на ней кнопки, | ||
| < | < | ||
| Line 190: | Line 212: | ||
| } | } | ||
| </ | </ | ||
| - | 8. Для отправки картинки используется метод sendPhoto, для отправки гифки – sendDocument. В обоих случаях Telegram позволяет передавать прямую ссылку на файл, что безусловно очень удобно, | + | ==== 8. Для отправки картинки используется метод sendPhoto, для отправки гифки – sendDocument. В обоих случаях Telegram позволяет передавать прямую ссылку на файл, что безусловно очень удобно, |
| + | |||
| + | |||
| + | ==== 9. Для получения последних статей используется простой парсинг RSS ленты Нетологии при помощи встроенной в PHP функции simplexml_load_file. ==== | ||
| - | 9. Для получения последних статей используется простой парсинг RSS ленты Нетологии при помощи встроенной в PHP функции simplexml_load_file. | ||
| В параметрах метода sendMessage можно заметить два новых значения: | В параметрах метода sendMessage можно заметить два новых значения: | ||
| Line 205: | Line 229: | ||
| чтобы к сообщению со ссылкой не подгружалось превью. | чтобы к сообщению со ссылкой не подгружалось превью. | ||
| - | 10. В качестве смайла (стрелка вправо) используются символы \xE2\x9E\xA1. Список всех смайлов в таком виде можно найти на специальном сайте. | + | ==== 10. В качестве смайла (стрелка вправо) используются символы \xE2\x9E\xA1. Список всех смайлов в таком виде можно найти на специальном сайте. |
| - | 11. После того, как вы протестируете бота и будете уверены в его работоспособности, | + | |
| + | ==== 11. После того, как вы протестируете бота и будете уверены в его работоспособности, | ||
| + | |||
| Благодаря удобному API, боты Telegram могут стать хорошей платформой для автоматизации рутинных действий, | Благодаря удобному API, боты Telegram могут стать хорошей платформой для автоматизации рутинных действий, | ||
| Line 216: | Line 242: | ||
| А анализировать активность пользователей можно с помощью бесплатного инструмента для аналитики ботов от Яндекса — Botan. | А анализировать активность пользователей можно с помощью бесплатного инструмента для аналитики ботов от Яндекса — Botan. | ||
| + | |||
| + | |||
| + | [[https:// | ||
| + | |||
| + | |||
bot_on_php.1613333879.txt.gz · Last modified: 2023/09/14 06:06 (external edit)