35 lines
1 KiB
Python
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)
|