Обязательные подписки

Обязательные подписки

0.3 NEW — Проверка подписки на каналы/группы перед выдачей доступа.

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

Настройка

[telegram]
check_interval_min = 60   # как часто проверять подписки (минуты, по умолчанию 60)

[[telegram.required_chats]]
chat_id = -1001234567890   # ID канала/группы (отрицательный)
title = "Наш канал"        # отображаемое имя
link = "https://t.me/our_channel"  # ссылка для пользователя

[[telegram.required_chats]]
chat_id = -1009876543210
title = "Чат поддержки"
link = "https://t.me/support_chat"

Как это работает

  1. Пользователь отправляет код авторизации боту
  2. Бот проверяет, подписан ли пользователь на все required_chats
  3. Если не подписан — бот отправляет список каналов со ссылками и просит подписаться
  4. Код остаётся активным — после подписки пользователь может отправить его повторно
  5. Если подписан — код принимается и обрабатывается обычным образом

Периодическая проверка

Подписки проверяются не только при авторизации, но и периодически (по check_interval_min). Если пользователь отпишется от обязательного канала — доступ будет ограничен при следующей проверке.

Требования

  • Бот должен быть администратором в каждом из required_chats (иначе не сможет проверить membership)
  • chat_id — это числовой ID канала/группы (можно узнать через @getmyid_bot или пересылку в @userinfobot)