реклама
разместить

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

Делаем простого бота для публикации новостей в канал и автоматические ответы на вопросы за 6 шагов.

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

В этой инструкции мы рассмотрим наиболее простой способ создать бота собственными руками и объясним, как он работает.

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

Начнем с разработки бота, который сможет автоматически отправлять в Telegram-канал новости компании, опубликованные на сайте или в Facebook.

Шаг 1. Создаём бота в Telegram

Бот в Telegram создается при помощи другого бота под названием BotFather. Отправляем ему команду /newbot, выбираем имя, которое будет отображаться в списке контактов, и адрес. Например, «Бот для DTF» с адресом «dtf_news_bot».

Если адрес не занят, а имя введено правильно, BotFather пришлет в ответ сообщение с токеном — «ключом» для доступа к созданному боту. Его нужно сохранить и никому не показывать.

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

Шаг 2. Создаём канал в Telegram

Теперь создаём канал с любым названием и адресом, и переходим в его настройки. Всё, что требуется — добавить в список администраторов созданного нами бота — именно он будет публиковать заметки в канал.

Для поиска бота можно использовать его адрес. Например, «dtf_news_bot».
Для поиска бота можно использовать его адрес. Например, «dtf_news_bot».

Шаг 3. Создание условия

Следующий этап — научить бота отправлять новости с сайта в созданный канал. Для этого воспользуемся популярным сервисом для автоматизации IFTTT.

С его помощью можно создавать инструкции для работы бота. В нашем случае она выглядит так: каждый раз, когда в RSS-ленте сайта появляется новая запись, он должен отправлять сообщение в канал Telegram.

IFTTT расшифровывается как If This Then That
IFTTT расшифровывается как If This Then That

Переходим в раздел IFTTT "My Applets", нажимаем на кнопку "New Applet" и далее на ссылку "This". Находим в списке функций триггер Feed, New feed item и указываем URL-адрес нашей RSS-ленты. Например, у Wordpress-сайтов она обычно расположена по адресу example.com/feed/.

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

Вместо RSS-ленты можно отслеживать появление новых записей в Twitter или Facebook-аккаунте — для каждой функции в IFTTT предусмотрены отдельные модули.

Теперь переходим ко второму шагу — выбираем действие, которое будет выполняться при обнаружении новой записи в RSS. Нажимаем на "That" и ищем Maker Webhook, "Make a web request" — с помощью этого модуля можно отправлять запросы к любым сервисам. В нашем случае — к боту в Telegram.

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

В открывшейся форме в поле URL нужно указать ссылку https://api.telegram.org/botТОКЕН/sendMessage, подставив в неё токен, сгенерированный на первом шаге. Метод: POST, тип контента: application/json.

Body — поле для шаблона запроcа, который будет отправляться в Telegram. В нём указываем, в какой канал нужно отправить сообщение и что в нём должно быть написано:

{"chat_id":"@адрес_канала", "text":"{{EntryTitle}} {{FeedUrl}}"}
  • chat_id — адрес канала, в который необходимо отправить сообщение. Таким образом одного бота можно подключить сразу к нескольким каналам. В качестве адресата можно указать и конкретного пользователя. В таком случае вместо адреса канала необходимо указать его ID (можно получить при помощи бота).
  • text — содержание сообщения. Например, заголовок материала из RSS (EntryTitle), его содержание (EntryContent) и ссылка (FeedUrl). Список доступных опций можно посмотреть по кнопке Ingredient.

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

В качестве условия для отправки сообщения можно выбрать любой другой сценарий, доступный на IFTTT. Например, Weather Underground умеет каждый день отправлять сообщение с прогнозом погоды на завтра. Триггер Stocks можно настроить на отправку стоимости акций при закрытии торгов.

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

Шаг 4. Подключаем сервер

На этом этапе понадобится веб-хостинг и сертификат SSL, который можно получить бесплатно с помощью сервиса Let's Encrypt.

Удобнее всего создать отдельный поддомен для бота — например, bot.example.com — и разместить на нём один файл index.php. Внутри файла размещаем код простейшего бота c сайта Telegram.

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

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

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

  • в строке 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-бота и сервер

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

Для этого понадобится консоль. У разных хостинг-провайдеров она может находиться в разных разделах интерфейса управления сайтом. Кроме того, можно воспользоваться программой Terminal на macOS, введя через неё команду ssh имя_пользователя@адрес_домена.

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

php -f /var/www/bot.example.com/index.php
Инструкция: Создание бота для Telegram без навыков программирования

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

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

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

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

} else if ($text === "Hello" || $text === "Hi") { apiRequest("sendMessage", array('chat_id' => $chat_id, "text" => 'Nice to meet you'));
  • Hello и Hi — текст пользователя, на который бот должен отреагировать.
  • Nice to meet you — ответ бота на отправленное пользователем сообщением.

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

} else if ($text === "Цены") { apiRequest("sendMessage", array('chat_id' => $chat_id, "text" => 'Прайс-лист можно скачать по ссылке example.com/price')); } else if ($text === "Контакты") { apiRequest("sendMessage", array('chat_id' => $chat_id, "text" => 'Контактный адрес для связи — secret@vc.ru'));

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

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

Промокод

Специально для читателей vc.ru доступен промокод на 250 рублей при заказе хостинга Vscale. Укажите "VC250” в виджете с балансом. Промокод действует до 1 июня 2017 года.

77
реклама
разместить
26 комментариев

баян бабаян.
Ни строчки кода, но вот этот код скопируйте и поменяйте. Если это, человек, который к коду не имеет отношение, вероятность 99,9% что-то пойдет не так.
Если это новичок, отвечаю, что он встанет на этапе хостинга с SSL.

14

У меня же сработало.

Без знаний? SSL удачи! if - else, удачи. Настройка сервера, удачи.

5

Спасибо за подробную инструкцию!!!))
Слежу в последнее время за возможностями Telegram, особо влечет анонимность этого мессенджера. Читала, что одна компания сумела реализовать Телеграм казино, которое интегрируется с внешней платформой и позволяет играть на реальные деньги, оплачивать и выводить деньги через мессенджер. Плюс разрабатывают визуал на html5.
Было бы приятно услышать еще о более полезных разработках))

3

Я вот тут бота в 1с цеплял, напишите статью как в 1с через webhook заставить работать) Вот будет благодарность)

3
Раскрывать всегда
Владимир Путин подписал закон о запрете навязывания любых дополнительных платных товаров, работ и услуг

Он вступит в силу с 1 сентября 2025 года.

Источник: Depositphotos
4242
1010
77
55
11
Надо начать с регионгаза , навязывают обслуживание котла, счетчика, печки , жалобу на кого подавать , на газпром или регионгаз ???
реклама
разместить
СМИ сообщили, что РКН «предупредил» о возможной блокировке иностранных хостинг-провайдеров — регулятор уже заявлял об этом в декабре 2024 года

А закон, позволяющий ему ограничивать работу иностранных хостингов в стране, действует с 2023-го.

СМИ сообщили, что РКН «предупредил» о возможной блокировке иностранных хостинг-провайдеров — регулятор уже заявлял об этом в декабре 2024 года
5050
99
11
11
Это же просто орейро, тупо целое министерство ушлепков сидит, тратит миллиарды денег налогоплательщиков, на создание проблем налогоплательщикам. Блистательная хуцпа.
Кофейня против канала под ключ: сталкиваем офлайн и онлайн бизнес

В современном мире выбор формата бизнеса играет ключевую роль в успехе. Сегодня я сравню два бизнеса, открытие которых требует одинаковых вложений. Советую дочитать статью до конца — вас ждет сюрприз!

Кофейня против канала под ключ: сталкиваем офлайн и онлайн бизнес
33
Правило Парето. Которого на самом деле не существует.

Как же меня достали люди, которые при каждом случае тащат свои 80 на 20. Сейчас расскажу, где они ошибаются. Я ж математик.

Правило Парето. Которого на самом деле не существует.
1212
11
11
11
11
Путин подписал закон о запрете рекламы на «нежелательных» и «запрещённых» сайтах — например, в Instagram* и Facebook*

Он вступит в силу с 1 сентября 2025 года.

55
44
Audi приостановила поставки автомобилей в США из-за введённых Трампом пошлин

Дилеры смогут продавать машины, которые ввезли в страну до вступления новых тарифов в силу.

Фото DPA
1010
11
Хоть не одни мы без немцев остались 😂 жаль, что китайских машин им тоже не видать. 😁
Я делал 13 млн прибыли в месяц, а сейчас мой бизнес на грузовиках все

В итоге за 7 лет я успел открыть и логистическую компанию, где в хороший месяц, 10 логистов приносили 13 млн ₽ прибыли, и транспортную компанию, с парком в 10 фур, которые приносили 1,7 млн ₽ в хороший месяц.

Сборы и налоги составляют 22%, это почти что расходы на топливо на месяц, понятно, почему перевозчики негодуют, когда они растут.
6565
1111
11
11
11
А почему владелец вышел из бизнеса? Тема выхода как-то не раскрыта. Такие доходы, и вдруг.
Работы выше крыши, а карьерного роста — ноль. Почему?

Думаете, что нужно просто работать на 100%, и тебя заметят? К сожалению, это не так.

Работы выше крыши, а карьерного роста — ноль. Почему?
3636
11
80 нейросетей, которые помогут тебе разобраться в теме и проанализируют десятки источников. Залил в одну табличку + краткое описание — эпичная подборка
80 нейросетей, которые помогут тебе разобраться в теме и проанализируют десятки источников. Залил в одну табличку + краткое описание — эпичная подборка
148148
66
44
44
Мне нужна нейросеть чтобы разобраться в подборке из 80 нейросетей