intrabot/bot/telegram.py
2026-03-15 21:36:03 +03:00

35 lines
1 KiB
Python

"""
Точка запуска Telegram-бота.
Создаёт экземпляр бота, инициализирует адаптер уведомлений (TelegramChannelNotifier),
регистрирует единый callback-диспетчер.
Вся логика кнопок → bot/keyboards.py
Вся логика текста → bot/messages.py
Отправка/удаление → bot/poster.py (через Notifier-адаптер)
Callback-обработчики → bot/callbacks.py
"""
import logging
import telebot
import config
from bot import callbacks
from bot.notifier import TelegramChannelNotifier
from bot import poster
log = logging.getLogger(__name__)
bot = telebot.TeleBot(config.TOKEN, parse_mode="Markdown")
@bot.callback_query_handler(func=lambda c: True)
def _handle_callback(call):
callbacks.dispatch(call, bot)
def start_bot():
log.info("Telegram bot started (polling)...")
notifier = TelegramChannelNotifier(bot, config.CHANNEL_ID)
poster.set_notifier(notifier)
bot.infinity_polling(timeout=60)