• Главная
  • uCoz
  • Как создать Telegram бот для публикации новостей в канал ?
Как создать Telegram бот для публикации новостей в канал ?

Как создать Telegram бот для публикации новостей в канал ?

О чем материал ?

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

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

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

Как настроить публикацию новостей с сайта в Telegram ?

Прежде всего, вы должны в Telegram создать Канал и Группу. Думаю у вас не возникнет сложностей в создании канала и группы, так как создаются они легко, в меню Telegram жмем на иконку "Три полоски"  и выбираем пункт "Создать канал / Создать группу". При создании заполняем необходимой информацией, название, лого для группы или канала итд.

После создания Канала и Группы, перейдите в ваш канал - Три точки в правом верхнем уголке - Управление каналом - Обсуждения - Привязать группу. Привяжите вашу группу в данном пункте. Это поможет в дальнейшем автоматически подвязать возможность комментирования новостей и постов в вашей группе в телеграмм.

Создаем бота для постинга в ваш канал

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

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

Важно! Сохранить обязательно так как в дальнейшем все это пригодится.

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

Настраиваем постинг новостей с RSS в наш канал Telegram

Для постинга новостей, статей с RSS будем использовать сторонний сервис: ifttt.com . Используя данный сайт можно на бесплатной основе постить новости с RSS используя три ваши RSS с любых 3-х модулей на сайте.

Если вы на данном сайте не зарегистрированы, тогда стоит зарегистрироваться, перейдите по адресу: https://ifttt.com/join и выберите удобный способ регистрации.

После регистрации вас направит на главную вашего кабинета на этом сайте: https://ifttt.com/home

Создаем условие для постинга новостей с нашего RSS в канал телеграм. Как показано на скриншоте выше, жмем кнопку Create.

Далее жмем по кнопке "If This". Находим в списке функций триггер Feed, New feed item и указываем URL-адрес нашей RSS-ленты. Ниже приведу примеры RSS, которые нужно использовать:

  • http://ваш-сайт.ру/load/rss для каталога файлов
  • http://ваш-сайт.ру/publ/rss для каталога статей
  • http://ваш-сайт.ру/blog/rss для блога
  • http://ваш-сайт.ру/news/rss для новостей
  • http://ваш-сайт.ру/dir/rss для каталога сайтов
  • http://ваш-сайт.ру/board/rss для доски объявлений
  • http://ваш-сайт.ру/stuff/rss для Онлайн Игры


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

Нажимаем на "That" и ищем Maker Webhook, "Make a web request" — с помощью этого модуля можно отправлять запросы к любым сервисам. В нашем случае — к боту в Telegram. На странице: https://ifttt.com/create жмем кнопку ADD.

Далее в поиске вводим запрос "webhooks" и выбираем данную плитку.

В открывшейся форме в поле URL нужно указать ссылку: 

https://api.telegram.org/botТОКЕН/sendMessage

подставив в неё токен, сгенерированный на первом шаге создания вашего канала. Метод: POST, тип контента: application/json.

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

Пример настройки условия Webhooks

  1. Наведу пример, у меня в поле URL прописана ссылка токен подобно: https://api.telegram.org/botномербота:************текст токена****************/sendMessage
  2. В втором поле Method, выбираем тип запроса Post.
  3. В поле Content Type выбираем пункт application/json.
  4. В последнем поле Body указываем по каком шаблону постить материалы в канал. Я использую проверенный мной шаблон:

{"chat_id":"@abclinuxorg", "text":"{{EntryTitle}} {{EntryUrl}}"}

Важно! Отмечу, что вместо abclinuxorg нужно указать название вашего канала и нажмите кнопку сохранить.

Примечание

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

Если у вас останутся вопросы, уточняйте в комментариях.

Лицензия: CC BY-SA 4.0

Автор: Юрий Герук

Похожие материалы:
Помогла ли вам статья?
Да Нет
Статья оказалась полезной для 0 человек
avatar
А я просто, не заморачиваюсь, сам просто вставляю ссылку на новую публикацию в свой канал. Спасибо автору за возможность автоматизировать эту рутину. Вот ещё бы подписчиков в канал привлечь.