Telegram
Пакеты: pyTelegramBotAPI==3.7.2, python-telegram-bot==12.7
Django app: app.telegram
Назначение
Telegram-интеграция обеспечивает отправку уведомлений сотрудникам и бизнес-событий через бота компании.
Конфигурация
env
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyzEndpoint
POST /api/v2/telegram/Используется для обработки входящих webhook-сообщений от Telegram.
Типы уведомлений
| Событие | Получатель | Описание |
|---|---|---|
| Новая задача | Исполнитель | При назначении задачи |
| Изменение статуса задачи | Исполнитель + наблюдатели | При переходе статуса |
| Новая встреча | Участники | При создании встречи |
| Уведомление о встрече | Участники | За 15 минут до начала |
| Назначен тест (LMS) | Сотрудник | При назначении теста |
| Новый CRM-лид | Команда продаж | При создании лида |
| Критическое событие производства | Руководитель | Брак, простой |
Backend-код
Отправка уведомления
python
import telebot
bot = telebot.TeleBot(settings.TELEGRAM_BOT_TOKEN)
def send_notification(telegram_id: str, message: str):
"""Отправить уведомление пользователю"""
try:
bot.send_message(
chat_id=telegram_id,
text=message,
parse_mode='HTML'
)
except Exception as e:
logger.error(f"Telegram notification failed: {e}")Привязка Telegram к аккаунту
Пользователь привязывает свой Telegram:
- Открывает профиль в системе
- Нажимает Привязать Telegram
- Получает ссылку на бота
- Отправляет боту команду
/startс кодом - Бот сохраняет
telegram_idв профиль пользователя
Frontend
В приложениях уведомления через Telegram дублируют уведомления интерфейса. Настройка:
Профиль → Уведомления → Telegram— включить/выключить типы уведомлений
Связи
app.tasks— уведомления по задачамapp.lms— уведомления о тестахapp.users— хранение telegram_id пользователя