Анонс django-sitemessage 0.7.0 — Отправляем сообщения Telegram из Django
Вслед за torrt рассылать телеграммы научилось и django-sitemessage.
Напомню, что в начале этой недели поддержка рассылки телеграмм появилась в приложении torrt, сегодня же вышла очередная версия django-sitemessage — приложения для Django, представляющего собой каркас для рассылки разного типа сообщений различными способами (эл. почта, Jabber, Twitter и пр.)
Отсылка телеграмм потребует установленного пакета requests. В остальном она ничем не отличается от рассылки прочих типов сообщений — выполняются два основных шага: 1. конфигурируется посыльный (Messenger) нужного типа (обычно нужные посыльные конфигурируются в файле
Если у вас получилось создать своего бота, то, скорее всего, получится и узнать нужный ID переписки, но чтобы упростить эту задачу ещё, можно воспользоваться методом посыльного get_chat_ids(), возвращающим список идентификаторов переписок с пользователями, которые отослали боту команду
Отослать сообщение можно и в канал, если использовать вместо ID переписки нотацию
Помимо описанного выше, в версии 0.7.0 появилась функция-упрощение schedule_tweet() для быстрого отправления твитов; исправлена ошибка в работе функции get_user_preferences_for_ui(), генерирующей данные для виджета, при помощи которого пользователи могут подписываться на сообщения нужного типа самостоятельно; для фильтрации доступности в упомянутом ранее виджете для классов сообщений и посыльных добавлена возможность указания атрибута
Оповещайте.
Отсылка телеграмм потребует установленного пакета requests. В остальном она ничем не отличается от рассылки прочих типов сообщений — выполняются два основных шага: 1. конфигурируется посыльный (Messenger) нужного типа (обычно нужные посыльные конфигурируются в файле
sitemessages.py
одного из приложений вашего проекта); 2. сообщение ставиться в очередь отправки (это может происходить, например, по сигналу при возникновении какого-либо события): from sitemessage.shortcuts import schedule_telegram_message
from sitemessage.messengers.telegram import TelegramMessenger
# Конфигурируем посыльного Telegram.
# `bot_token` - это токен, полученный при создании телеграм-бота.
register_messenger_objects(TelegramMessenger('bot_token'))
# Ставим сообщение в очередь.
# Оно будет отослано в переписку (чат) с ID 01234567.
schedule_telegram_message('Бот приветствует вас.', '01234567')
Если у вас получилось создать своего бота, то, скорее всего, получится и узнать нужный ID переписки, но чтобы упростить эту задачу ещё, можно воспользоваться методом посыльного get_chat_ids(), возвращающим список идентификаторов переписок с пользователями, которые отослали боту команду
/start
.Отослать сообщение можно и в канал, если использовать вместо ID переписки нотацию
@channelname
, однако для этого бот должен состоять в списке администраторов канала. Ввиду того, что каналы появились относительно недавно, с отсылкой вполне могут возникать различного рода проблемы.Помимо описанного выше, в версии 0.7.0 появилась функция-упрощение schedule_tweet() для быстрого отправления твитов; исправлена ошибка в работе функции get_user_preferences_for_ui(), генерирующей данные для виджета, при помощи которого пользователи могут подписываться на сообщения нужного типа самостоятельно; для фильтрации доступности в упомянутом ранее виджете для классов сообщений и посыльных добавлена возможность указания атрибута
allow_user_subscription
.Оповещайте.
На заметку
Зарегистрированные пользователи могут публиковать свои Статьи.