# app/bot/handlers/help.py
from flask import Flask
from telebot.types import Message
from telebot import logger, TeleBot
from app.bot.constants import UserStates
from app.bot.keyboards.main_menu import get_main_menu
from app.bot.states import UserStateManager
from app.bot.utils.auth import auth
from config import HELP_URL
def register_handlers(bot: TeleBot,app: Flask,state_manager: UserStateManager):
@bot.message_handler(commands=['help'])
@bot.message_handler(func=lambda msg: msg.text == "Помощь")
def handle_help(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
help_text = (
'ℹ️/start - Показать меню бота\n'
'ℹ️Настройки - Перейти в режим настроек и управления подписками\n'
'ℹ️Активные события - Получение всех нерешённых событий мониторинга по выбранным сервисам выбранного региона\n'
f'ℹ️Помощь - Описание всех возможностей бота')
bot.send_message(message.chat.id, help_text, parse_mode="HTML", reply_markup=get_main_menu())