Skip to content

Telegram

Пакеты: pyTelegramBotAPI==3.7.2, python-telegram-bot==12.7
Django app: app.telegram

Назначение

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

Конфигурация

env
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyz

Endpoint

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:

  1. Открывает профиль в системе
  2. Нажимает Привязать Telegram
  3. Получает ссылку на бота
  4. Отправляет боту команду /start с кодом
  5. Бот сохраняет telegram_id в профиль пользователя

Frontend

В приложениях уведомления через Telegram дублируют уведомления интерфейса. Настройка:

  • Профиль → Уведомления → Telegram — включить/выключить типы уведомлений

Связи

  • app.tasks — уведомления по задачам
  • app.lms — уведомления о тестах
  • app.users — хранение telegram_id пользователя