added utils.py
1. Добавил message_thread_id для всех команд, убрав костыль, который отвечал за корректную отправку сообщений в топик. 2. Функции (определение администратора, удаление сообщений) вынес в utils.py, от куда они будут вызываться в командах. Модули стали более читаемы из-за уменьшения количества строк кода в них. 3. Дописал manual_unban и добавил error в config.py 4. Оптимизация
This commit is contained in:
@ -3,32 +3,46 @@ from telebot.types import Message
|
||||
import asyncio
|
||||
import logging
|
||||
|
||||
from utils import delete_messages
|
||||
|
||||
from config import COMMAND_MESSAGES
|
||||
|
||||
logger = logging.getLogger(__name__) # Получаем логгер для текущего модуля
|
||||
# Получаем логгер для текущего модуля
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
def register_handlers(bot: AsyncTeleBot): # Регистрирует все обработчики команд
|
||||
# Регистрирует все обработчики команд
|
||||
def register_handlers(bot: AsyncTeleBot):
|
||||
|
||||
@bot.message_handler(commands=['help']) # Обработчик команды /help
|
||||
# Обработчик команды /help
|
||||
@bot.message_handler(commands=['help'])
|
||||
async def help_command(message: Message):
|
||||
|
||||
# Отправка сообщения в тему или обычный чат
|
||||
send_message = bot.reply_to if message.is_topic_message else bot.send_message
|
||||
chat_id = message if message.is_topic_message else message.chat.id
|
||||
|
||||
try:
|
||||
|
||||
# Отправляем сообщение
|
||||
await send_message(chat_id, COMMAND_MESSAGES['help'])
|
||||
await bot.send_message(
|
||||
chat_id=message.chat.id,
|
||||
text=COMMAND_MESSAGES['help'],
|
||||
message_thread_id=message.message_thread_id,
|
||||
)
|
||||
|
||||
# Записываем действие в логи
|
||||
logger.info(f"Пользователь {message.from_user.id} запустил /help.")
|
||||
|
||||
# Если пользователь писал в чат
|
||||
if message.chat.id != message.from_user.id:
|
||||
|
||||
# Удаляем сообщения через 30 секунд
|
||||
await asyncio.sleep(30)
|
||||
await bot.delete_message(message.chat.id, message.message_id)
|
||||
await bot.delete_message(message.chat.id, message.message_id+1)
|
||||
await delete_messages(bot, message, time_sleep=30, number_message=2)
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Пользователь {message.from_user.id} запустил /help: {str(e)}")
|
||||
|
||||
# Отправляем ошибку
|
||||
await send_message(
|
||||
chat_id=message.chat.id,
|
||||
text=COMMAND_MESSAGES['general_error'],
|
||||
message_thread_id=message.message_thread_id,
|
||||
)
|
||||
|
||||
# Записываем ошибку в логи
|
||||
logger.error(f"Общая ошибка в help_command: {str(e)}")
|
Reference in New Issue
Block a user