41 lines
2.6 KiB
Python
41 lines
2.6 KiB
Python
# app/bot/routers/private.py
|
|
from telegram.ext import CommandHandler, MessageHandler, ChatMemberHandler, filters
|
|
from app.bot.handlers.start import start, help_cmd, groups_cmd
|
|
from app.bot.handlers.add_group import add_group_cmd, add_group_capture
|
|
from app.bot.handlers.drafts import new_cmd, on_text, on_text_gate
|
|
from app.bot.handlers.media import on_media
|
|
from app.bot.handlers.chat_id_cmd import chat_id_cmd
|
|
from app.bot.handlers.security import (
|
|
security_cmd, spam_import_cmd, spam_import_capture, spam_import_text_capture, dicts_cmd
|
|
)
|
|
from app.bot.handlers.cancel import cancel_cmd
|
|
from app.bot.handlers.debug import dbg_state_cmd
|
|
|
|
def register_private_handlers(app):
|
|
# Команды в ЛС
|
|
app.add_handler(CommandHandler("start", start, filters.ChatType.PRIVATE))
|
|
app.add_handler(CommandHandler("help", help_cmd, filters.ChatType.PRIVATE))
|
|
app.add_handler(CommandHandler("groups", groups_cmd, filters.ChatType.PRIVATE))
|
|
app.add_handler(CommandHandler("add_group", add_group_cmd, filters.ChatType.PRIVATE))
|
|
app.add_handler(CommandHandler("new", new_cmd, filters.ChatType.PRIVATE))
|
|
app.add_handler(CommandHandler("id", chat_id_cmd, filters.ChatType.PRIVATE))
|
|
app.add_handler(CommandHandler("security", security_cmd, filters.ChatType.PRIVATE))
|
|
app.add_handler(CommandHandler("dicts", dicts_cmd, filters.ChatType.PRIVATE))
|
|
app.add_handler(CommandHandler("spam_import", spam_import_cmd, filters.ChatType.PRIVATE))
|
|
app.add_handler(CommandHandler("cancel", cancel_cmd, filters.ChatType.PRIVATE))
|
|
app.add_handler(CommandHandler("dbg_state", dbg_state_cmd, filters.ChatType.PRIVATE))
|
|
|
|
# Импорт словаря — файл
|
|
app.add_handler(MessageHandler(filters.ChatType.PRIVATE & filters.Document.ALL, spam_import_capture))
|
|
# Импорт словаря — текст (не блокирует цепочку)
|
|
app.add_handler(MessageHandler(filters.ChatType.PRIVATE & filters.TEXT & ~filters.COMMAND, spam_import_text_capture, block=False))
|
|
|
|
# Привязка чата пересланным сообщением
|
|
app.add_handler(MessageHandler(filters.ChatType.PRIVATE & filters.FORWARDED, add_group_capture))
|
|
# Медиа для черновика
|
|
app.add_handler(MessageHandler(filters.ChatType.PRIVATE & (filters.PHOTO | filters.VIDEO | filters.ANIMATION), on_media))
|
|
|
|
# Приватный текст: шлюз (высший приоритет) → редактор
|
|
app.add_handler(MessageHandler(filters.ChatType.PRIVATE & filters.TEXT & ~filters.COMMAND, on_text_gate, block=True))
|
|
app.add_handler(MessageHandler(filters.ChatType.PRIVATE & filters.TEXT & ~filters.COMMAND, on_text))
|