Создание канала с автопостингом в Телеграме без единой строчки кода / Хабр

0
859

Теперь подробнее. Думаю, все слышали про мессенджер Telegram. Вероятно, многие даже знают про нехитрый API для создания ботов в этом мессенджере. Кроме того, не так давно в T появилась возможность создавать так называемые «каналы» (channels), упрощающие мгновенную рассылку сообщений практически любому количеству подписавшихся на канал лиц. Наконец, самая свежая новость: ботов стало можно добавлять в качестве администраторов в каналы, то есть такие рассылки стало можно делать автоматизированно.

  • три канала (@RedditTop, @r_pics, @gone_wild — осторожно, последний с «взрослым» контентом), которые ежечасно импортируют топовые посты с Реддита (и двух его сабреддитов);
  • ещё канал, делающий то же с постами с 9GAG;
  • и, наконец, завел хитрого бота @JamesBot, который анонимно пересылает все сообщения, написанные ему, в общий канал (@secret_ru, @secret_en, @secret_es, @secret_ar или @secret_fa — в зависимости от языка). Получился анонимный чат средней степени трэшовости.
  • публиковать сообщение в канале,
  • отправлять сообщение в заранее выбранный чат (куда добавлен наш бот),
  • отправлять сообщение заранее указанному пользователю (который добавил себе бота).

Шаг 1. Создаем бота.

По вопросу создания бота нужно обратиться к самому главному боту: @BotFather. У вас спросят две вещи: имя, которое будет отображаться в списке диалогов, а также юзернейм, по которому вашего бота можно будет найти (он должен быть уникален). Если цель — публикация постов в канале, ни то, ни другое, особого значения не имеют (видеть своего бота-администратора будете только вы).

ЧИТАТЬ ТАКЖЕ:  Как найти канал, группу или бота в Telegram

После получения ответов на эти два вопроса BotFather должен выдать вам token вашего бота. Он имеет следующий вид:
123456789:Blablabla.

Сообщение с токеном терять не стоит, а сам токен — не стоит разглашать кому-либо, так как токен позволяет кому угодно представляться вашим ботом.

Шаг 2. Создаем канал.

Создание канала — шаг опциональный. Если хотите, можете отправлять сообщения в чат или пользователю (правда, придется сначала узнать их id — об этом ниже).

В своем клиенте Телеграма выбираем создание нового сообщения — New Channel (кажется, все официальные клиенты сейчас поддерживают это). Указываем название, описание и фото по вкусу. Канал должен быть публичным, поэтому указываем тип Public и задаем адрес («юзернейм») теперь уже для канала. Этап приглашения друзей можно пропустить.

Когда канал создан, заходим в его настройки, открываем список администраторов и добавляем созданного на первом шаге бота (поиском по его юзернейму).

Шаг 3. Настраиваем интеграцию на IFTTT.

Отправляемся на IFTTT. Регистрируемся, если еще не. IFTTT позволяет создать множество триггеров вида «импортировать откуда», «при каком условии», «экспортировать куда». Они называются «рецептами». Создаем новый рецепт: Create a recipe.

Сначала нужно выбрать источник и конкретное условие (триггер), по которому должен срабатывать рецепт. Тут вы ничем не ограничены: хотите — следите за твитами по хэштегу, хотите — переносите свои посты из фэйсбука. Не буду вдаваться в детали, всё довольно просто.

  • URL: api.telegram.org/bot <token> /sendMessage
  • Method: POST
  • Content type: application/json
  • Body:<"chat_id":"@ <channel> «,»text»:»<>»>

Обратите внимание: вместо <token> и URL нужно указать токен вашего бота (см. шаг 1), вместо <channel> в Body — адрес канала (шаг 2). Без угловых скобок, конечно, но перед адресом канала должен стоять символ @. <> в поле Body означает подстановку текста, полученного из опубликованной записи. Конкретный код подстановки может быть и другой, они зависят от выбранного триггера, чтобы увидеть их список (и подставить их в текст сообщения), нажмите на кнопку с колбой рядом с полем Body. Конечно, можно вообще не делать подстановок, а публиковать один и тот же текст, но это быстро надоедает подписчикам 🙂

Уточнение: если вы хотите отправлять сообщение не в канал, а в чат или конкретному человеку (себе, например), то вместо «@<channel>» нужно указать идентификатор чата или этого человека. Чтобы его узнать, проще всего добавить себе, к примеру, вот этого бота — по команде /start (в личке или в искомом чате) он пришлет искомое число. В чат сообщения будут доставляться только если ваш бот добавлен в него как участник, а лично пользователю — если он предварительно инициировал с ним диалог.

Шаг 4. PROFIT!

Всё, примерно раз в 15 минут IFTTT должен проверять ваш «рецепт» (говорят, некоторые триггеры проверяются и чаще), а при его срабатывании — отправлять сообщение через бота в канал. При необходимости в списке рецептов можно форсировать проверку, посмотреть историю срабатываний или выключить рецепт совсем.

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

ЧИТАТЬ ТАКЖЕ:  Комментарии в телеграм-канале / Хабр