User Tools

Site Tools


bot_on_php

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
bot_on_php [2021/02/14 20:30] chifekbot_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». Например, NetologyRSSbot; 4) Пишете юзернейм бота, по которому его будут находить через поиск. Обязательно на конце вашего юзернейма должно быть слово «bot» или «_bot». Например, NetologyRSSbot;
 +
 5) По желанию можно сразу настроить полное или краткое описание, список команд и аватарку. 5) По желанию можно сразу настроить полное или краткое описание, список команд и аватарку.
  
Line 109: Line 113:
    
  
-1. Сначала мы подключаем скачанную библиотеку, указав путь (лучше полный) до файла автозагрузчика.+==== 1. Сначала мы подключаем скачанную библиотеку, указав путь (лучше полный) до файла автозагрузчика. ==== 
  
 <code> <code>
Line 116: Line 121:
 </code> </code>
  
-2. Создаем экземпляр класса в переменной $telegram и передаем в него наш токен. +==== 2. Создаем экземпляр класса в переменной $telegram и передаем в него наш токен. ==== 
 + 
  
 В переменной $result получаем информацию о сообщении, которое пришлет нам Telegram. В переменной $result получаем информацию о сообщении, которое пришлет нам Telegram.
Line 125: Line 131:
 </code> </code>
  
-3. Затем определяем главные переменные: текстовое сообщение, уникальный идентификатор пользователя и его юзернейм. Если предстоит работа с БД, то не забывайте про фильтрацию (или лучше используйте PDO).+==== 3. Затем определяем главные переменные: текстовое сообщение, уникальный идентификатор пользователя и его юзернейм. Если предстоит работа с БД, то не забывайте про фильтрацию (или лучше используйте PDO). ==== 
  
 <code> <code>
Line 134: Line 141:
  
  
-4. Создаем нашу клавиатуру, состоящую из трех кнопок.+==== 4. Создаем нашу клавиатуру, состоящую из трех кнопок. ==== 
  
  
Line 142: Line 150:
  
  
-5. Теперь, когда мы обозначили все переменные, можно перейти к обработке полученного сообщения. Для этого можно использовать конструкцию switch-case либо if-else. Так как принципиальной разницы между ними нет, остановимся на втором варианте, как наиболее привычном.+==== 5. Теперь, когда мы обозначили все переменные, можно перейти к обработке полученного сообщения. Для этого можно использовать конструкцию switch-case либо if-else. Так как принципиальной разницы между ними нет, остановимся на втором варианте, как наиболее привычном. ==== 
  
 В самом начале проверяем, заполнена ли переменная $text и является ли сообщение пользователя текстовым. В самом начале проверяем, заполнена ли переменная $text и является ли сообщение пользователя текстовым.
Line 159: Line 168:
 Если нет, то отправляем пользователю с помощью метода sendMessage сообщение с просьбой ввести текстовое сообщение. Если нет, то отправляем пользователю с помощью метода sendMessage сообщение с просьбой ввести текстовое сообщение.
  
-6. Рассмотрим вариант, когда пользователь прислал сообщение с командами /start или /help+==== 6. Рассмотрим вариант, когда пользователь прислал сообщение с командами /start или /help ==== 
  
  
Line 184: Line 194:
 </code> </code>
  
-7. После появления клавиатуры пользователь явно захочет попробовать потыкать на расположенные на ней кнопки, и вот что у нас «под капотом» в этом случае:+==== 7. После появления клавиатуры пользователь явно захочет попробовать потыкать на расположенные на ней кнопки, и вот что у нас «под капотом» в этом случае: ==== 
  
 <code> <code>
Line 201: Line 212:
         }         }
 </code> </code>
-8. Для отправки картинки используется метод sendPhoto, для отправки гифки – sendDocument. В обоих случаях Telegram позволяет передавать прямую ссылку на файл, что безусловно очень удобно, но не так быстро, как если бы мы передавали file_id уже отправленной на сервера Telegram картинки или гифки.+==== 8. Для отправки картинки используется метод sendPhoto, для отправки гифки – sendDocument. В обоих случаях Telegram позволяет передавать прямую ссылку на файл, что безусловно очень удобно, но не так быстро, как если бы мы передавали file_id уже отправленной на сервера Telegram картинки или гифки. ==== 
 + 
 + 
 +==== 9. Для получения последних статей используется простой парсинг RSS ленты Нетологии при помощи встроенной в PHP функции simplexml_load_file. ====
  
-9. Для получения последних статей используется простой парсинг RSS ленты Нетологии при помощи встроенной в PHP функции simplexml_load_file. 
  
 В параметрах метода sendMessage можно заметить два новых значения: В параметрах метода sendMessage можно заметить два новых значения:
Line 216: Line 229:
 чтобы к сообщению со ссылкой не подгружалось превью. чтобы к сообщению со ссылкой не подгружалось превью.
  
-10. В качестве смайла (стрелка вправо) используются символы \xE2\x9E\xA1. Список всех смайлов в таком виде можно найти на специальном сайте.+==== 10. В качестве смайла (стрелка вправо) используются символы \xE2\x9E\xA1. Список всех смайлов в таком виде можно найти на специальном сайте. ====
  
  
  
-11. После того, как вы протестируете бота и будете уверены в его работоспособности, можно отправлять его на всеобщее обозрение. + 
 +==== 11. После того, как вы протестируете бота и будете уверены в его работоспособности, можно отправлять его на всеобщее обозрение. ==== 
 + 
  
 Благодаря удобному API, боты Telegram могут стать хорошей платформой для автоматизации рутинных действий, настройки уведомлений, удобному и быстрому получению информации и созданию игр. Благодаря удобному API, боты Telegram могут стать хорошей платформой для автоматизации рутинных действий, настройки уведомлений, удобному и быстрому получению информации и созданию игр.
Line 227: Line 242:
  
 А анализировать активность пользователей можно с помощью бесплатного инструмента для аналитики ботов от Яндекса — Botan. А анализировать активность пользователей можно с помощью бесплатного инструмента для аналитики ботов от Яндекса — Botan.
 +
 +
 +[[https://habr.com/ru/company/netologyru/blog/326174/|ссылка на статью]]
 +
 +
bot_on_php.1613334605.txt.gz · Last modified: 2023/09/14 06:06 (external edit)