Інструкція створення бота для telegram без навичок програмування

Матеріал підготовлений за підтримки Selectel

Після бурхливих обговорень в ІТ-пресі з приводу ефективності чат-ботів, вони зайняли свою нішу в екосистемі користувачів і компаній. Наприклад, часто проекти впроваджують ботів для оповіщення про будь-які події, а служби підтримки використовують їх для того, щоб швидко відповідати на запитання й відповіді клієнтів.

У цій інструкції ми розглянемо найбільш простий спосіб створити бота власними руками і пояснимо, як він працює.

Інструкція створення бота для telegram без навичок програмування

Крок 1. Створюємо бота в Telegram

Інструкція створення бота для telegram без навичок програмування

Крок 2. Створюємо канал в Telegram

Інструкція створення бота для telegram без навичок програмування

Крок 3. Створення умови

Наступний етап - навчити бота відправляти новини з сайту в створений канал. Для цього скористаємося популярним сервісом для автоматизації IFTTT.

З його допомогою можна створювати інструкції для роботи бота. У нашому випадку вона виглядає так: кожен раз, коли в RSS-стрічці сайту з'являється новий запис, він повинен відправляти повідомлення в канал Telegram.

Інструкція створення бота для telegram без навичок програмування

IFTTT розшифровується як If This Then That

Інструкція створення бота для telegram без навичок програмування

Тепер переходимо до другого кроку - вибираємо дію, яка виконуватиметься при виявленні нового запису в RSS. Натискаємо на "That" і шукаємо Maker Webhook. "Make a web request" - за допомогою цього модуля можна відправляти запити до будь-яких сервісів. У нашому випадку - до боту в Telegram.

Інструкція створення бота для telegram без навичок програмування

Body - поле для шаблону запроcа, який буде відправлятися в Telegram. У ньому вказуємо, в який канал потрібно відправити повідомлення і що в ньому має бути написано:

Якщо все налаштований належним чином, бот відправить повідомлення з RSS-стрічки в канал. У тригера в IFTTT є затримка, тому повідомлення, що з'явилося в RSS-стрічці, відправиться в Telegram не відразу, а через 30-60 хвилин.

Як умова для відправки повідомлення можна вибрати будь-який інший сценарій, доступний на IFTTT. Наприклад, Weather Underground вміє кожен день відправляти повідомлення з прогнозом погоди на завтра. Тригер Stocks можна налаштувати на відправку вартості акцій при закритті торгів.

Тепер вирішимо більш складну задачу - навчимо створеного бота відповідати на повідомлення користувачів. Наприклад, надсилати по команді прайс-лист, контакти або відповідати на запитання й відповіді клієнтів.

Крок 4. Підключаємо сервер

На цьому етапі знадобиться веб-хостинг і сертифікат SSL, який можна отримати безкоштовно за допомогою сервісу Let's Encrypt.

Найзручніше створити окремий піддомен для бота - наприклад, bot.example.com - і розмістити на ньому один файл index.php. Всередині файлу розміщуємо код найпростішого бота c сайту Telegram.

Якщо у вас хостинг Vscale. то можна створити для бота окремий сервер. Це робиться за допомогою одного кліка в панелі управління.

Інструкція створення бота для telegram без навичок програмування

У код бота потрібно внести всього два зміни:

Крок 5. Зв'язуємо Telegram-бота і сервер

Тепер необхідно пов'язати Telegram і файл на сервері, щоб запити, надіслані боту в месенджері, обробляв наш скрипт.

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

php -f /var/www/bot.example.com/index.php

Інструкція створення бота для telegram без навичок програмування

Якщо все зроблено правильно, бот відразу відправить в Telegram повідомлення "Hello".

Інструкція створення бота для telegram без навичок програмування

Крок 6. Налаштовуємо текст автовідповіді бота

Додамо різні сценарії для відповідей бота. Відкриваємо створений раніше файл index.php і знаходимо в ньому рядок:

  • Hello і Hi - текст користувача, на який бот повинен відреагувати.
  • Nice to meet you - відповідь бота на відправлене користувачем повідомленням.

Нижче в коді додаємо додаткові відповіді. Наприклад, щоб в залежності від відправленого слова, бот надсилав необхідну інформацію користувачеві (як в боті vc.ru для «ВКонтакте»):

Чи можемо вказати будь-яку кількість фраз і відповідей на них. Також можна змінити кнопки, доступні користувачеві під час роботи з ботом. Знаходимо рядок коду 'keyboard' => array (array ( 'Hello', 'Hi')) і замість Hello і Hi вказуємо «Ціни» і «Контакти».

Після збереження файлу зміни відразу набудуть чинності.

Схожі статті