Инструкция: Создание бота для Telegram без навыков программирования

Инструкция: Создание бота для Telegram без навыков программирования

Vlad Teplinskiy

Тестовый бот

В этом гайде, за 6 шагов, сделаем простого бота. У него будет всего 2 функции: публикация новостей из ФБ в телеграм + автоматические ответы на вопросы.


Шаг 1: Батя ботов

Бот в Telegram создается при помощи другого отца ботов @BotFather.

Алгоритм прост:

  1. Открываем бота @BotFather
  2. Отправляем команду /newbot
  3. Создаём имя бота и адрес (например, «Бот для Диджиталов» с адресом «dgtlsnewsbot»)

Если всё окей, BotFather выдаст токен — ключ для доступа к боту. Его лучше не терять и никому не передавать.

Дополнительно:

Через BotFather можно установить аватар бота, добавить описание, изменить имя бота, и всё прочее по мелочам оформления.


Шаг 2: Назначаем администратора

Бот готов, теперь ему нужен канал, в котором он будет работать.

После создания канала нужно добавить бота в список администраторов — тогда он сможет публиковать заметки в канал


Шаг 3: Обучение бота

Бот работает по алгоритму, который нужно создавать вручную. Для этого нам подойдёт популярный сервис создания алгоритмов IFTTT.

IFTTT расшифровывается как "If This Then That" (Если Это, Значит То)

Наш алгоритм:

Если в RSS-ленте сайта появляется новая запись, бот дублирует её в указанный Telegram-канал.

Инструкция по IFTTT (1 этап):

  1. открываем раздел "My Applets"
  2. нажимаем на кнопку "New Applet"
  3. далее жмём на ссылку "This".
  4. выбираем в списке функций триггер Feed
  5. клацаем New feed item и указываем URL-адрес RSS-ленты
Например, у Wordpress-сайтов она обычно расположена по адресу example.com/feed/. Если у вас другая CMS - гугл поможет найти RSS-ленту.
Вместо RSS-ленты можно выбрать репостинг из Twitter или Facebook — для каждой соцсети в IFTTT есть отдельные модули (ссылки на модули вставлены в названия соцсетей).

Инструкция по IFTTT (2 этап):

Теперь выбираем действие, которое бот будет делать при обнаружении новой записи в RSS.

  1. нажимаем на "That"
  2. выбираем Maker Webhook
  3. там клацаем "Make a web request" (модуль помогает задать параметр, что при выполненном условии IF делать боту и в какой веб-источник)
  4. в открывшейся форме в поле URL пишем ссылку https://api.telegram.org/bot[ТОКЕН]/sendMessage
  5. выбираем "Метод: POST", "тип контента: application/json"

Примечание:

Body — поле для шаблона запроcа, который будет отправляться в Telegram.

В нём указываем, в какой канал нужно отправить сообщение и что в нём должно быть написано:

  • chat_id — адрес канала, в который полетит сообщение. Одного бота можно подключить сразу к нескольким каналам. В качестве адресата можно указать и конкретного пользователя.
  • text — содержание сообщения. Например, заголовок материала из RSS (EntryTitle), его содержание (EntryContent) и ссылка (FeedUrl). Больше функций можно посмотреть в кнопке +Ingredient.

Если всё сделано без ошибок, бот перешлёт пост из RSS-ленты в канал. В IFTTT есть небольшая задержка, поэтому репосты из RSS-ленты попадают в Telegram в среднем через 30-60 минут.

Следующая задача

Научим бота автоматическим ответам по сценарию.


Шаг 4: Сервер

Теперь нам нужен веб-хостинг и сертификат SSL. Для этого воспользуемся бесплатным сервисом "Let's Encrypt".

Для бота лучше сделать отдельный поддомен — например, bot.example.com — и разместить на нём один файл index.php. Так проще не запутаться.

Внутри файла размещаем код бота c сайта Telegram.

На хостинге Vscale можно создать отдельный сервер для бота. Это делается при помощи одного клика в панели управления.

В код бота нужно внести всего два изменения:

  • в строке define('BOT_TOKEN', '12345678:replace-me-with-real-token'); вместо "12345678:replace-me-with-real-token" написать токен своего бота;
  • в строке define('WEBHOOK_URL', 'https://my-site.example.com/secret-path-for-webhooks/'); вместо "https://my-site.example.com/secret-path-for-webhooks/" указать URL-адрес файла с кодом для бота: https://bot.example.com/index.php.

Шаг 5: Подключаем бота к серверу

Чтобы бот работал, нужно связать Telegram и файл на сервере. Тогда скрипт будет обрабатывать все сообщения, отправленные боту.

Для этого понадобится консоль.

У разных хостинг-провайдеров она может находиться в разных разделах интерфейса управления сайтом.

Альтернатива для macOS: можно воспользоваться программой Terminal, ввести через неё команду [ssh имя_пользователя@адрес_домена].

После ввода пароля, печатаем для нашего поддомена простую команду:

Если всё сделано правильно, бот напишет в Telegram сообщение "Hello".


Шаг 6: Настраиваем текст автоответов бота

Добавим различные сценарии для ответов бота. Открываем созданный ранее файл index.php и находим в нём строчку:

  • Hello и Hi — текст, на который бот должен реагировать
  • Nice to meet you — реакция бота на текст

Ниже в коде можно дописать сценарий и на другие ответы:

Ограничений по количеству фраз и ответов на них нет. Можно изменить кнопки для работы с ботом. Для этого в строчке кода 'keyboard' => array(array('Hello', 'Hi')) вместо «Hello» и «Hi» пишем «Цены» и «Контакты».

Изменения вступят в силу сразу после сохранения файла.


Нам важно знать

Понятна ли тебе данная инструкция? Отреагируй соответствующим смайликом под постом в канале Digital'ы.



Report Page