Telezab/app/bot/handlers/my_subscriptions.py
UdoChudo ccb47d527f
All checks were successful
Build and Push Docker Images / build (push) Successful in 1m28s
refactor: modularize Telegram bot and add RabbitMQ client foundation
- Рефакторинг Telegram бота на модульную структуру для удобства поддержки и расширения
- Создан общий RabbitMQ клиент для Flask и Telegram компонентов
- Подготовлена базовая архитектура для будущего масштабирования и новых функций

Signed-off-by: UdoChudo <stream@udochudo.ru>
2025-06-16 09:08:46 +05:00

24 lines
1.2 KiB
Python

import telebot
from flask import Flask
from telebot import TeleBot
from telebot.types import Message
from telebot import logger
from app.bot.constants import UserStates
from app.bot.states import UserStateManager
from app.bot.processors.my_subscriptions_processor import handle_my_subscriptions
from app.bot.utils.auth import auth
def register_handlers(bot: TeleBot,app: Flask, state_manager: UserStateManager):
@bot.message_handler(commands=['subscribes'])
@bot.message_handler(func=lambda msg: msg.text == "Мои подписки")
def handle_my_subscriptions_button(message: Message):
chat_id = message.chat.id
username = f"{message.from_user.username}" if message.from_user.username else "N/A"
with app.app_context():
if not auth(chat_id, app):
bot.send_message(chat_id, "❌ Вы не авторизованы для использования этого бота.")
logger.warning(f"Неавторизованный пользователь {chat_id} @{username}")
state_manager.set_state(chat_id, UserStates.REGISTRATION)
return
handle_my_subscriptions(message, bot,app, state_manager)