diff --git a/src/modules/auto_mute.py b/src/modules/auto_mute.py
index f03c2a5..154688e 100644
--- a/src/modules/auto_mute.py
+++ b/src/modules/auto_mute.py
@@ -131,12 +131,15 @@ async def apply_mute(bot: AsyncTeleBot, message: Message, user_id: int, duration
message_thread_id=message.message_thread_id,
)
+ # Формируем причину с полным текстом сообщения
+ reason_text = f"{words_info} (нарушение #{violations_count})\n\n📝 Текст сообщения:\n{message.text}
"
+
# Отправляем сообщение-лог в админ-чат
await action_reporter.log_action(
action="АВТОМУТ",
user_id=user_id,
admin_id=None, # Автоматическое действие
- reason=f"{words_info} (нарушение #{violations_count})",
+ reason=reason_text,
duration=time_display,
)
diff --git a/src/modules/badwords_manager.py b/src/modules/badwords_manager.py
index 0cf4bc6..165682f 100644
--- a/src/modules/badwords_manager.py
+++ b/src/modules/badwords_manager.py
@@ -22,8 +22,8 @@ def register_handlers(bot: AsyncTeleBot):
logger.info(f"Команда /badwords получена от пользователя {message.from_user.id}")
- # Проверяем права администратора
- admin_check = await check_admin_status(bot, message)
+ # Проверяем права администратора (без проверки прав на ограничение участников)
+ admin_check = await check_admin_status(bot, message, check_restrict_rights=False)
if admin_check == 1:
logger.info(f"Пользователь {message.from_user.id} не является администратором")
return
diff --git a/src/modules/botdata.py b/src/modules/botdata.py
index 54df80d..0929968 100644
--- a/src/modules/botdata.py
+++ b/src/modules/botdata.py
@@ -4,16 +4,13 @@ import asyncio
import logging
import os
-from utils import delete_messages
+from utils import delete_messages, check_admin_status
from config import COMMAND_MESSAGES, DATABASE_NAME, LOG_FILE_NAME
# Получаем логгер для текущего модуля
logger = logging.getLogger(__name__)
-# Загружаем id администраторов из .env
-ADMIN_IDS = [int(id_str.strip()) for id_str in os.getenv('ADMIN_IDS').split(',')]
-
# Регистрирует все обработчики команд
def register_handlers(bot: AsyncTeleBot):
@@ -23,36 +20,28 @@ def register_handlers(bot: AsyncTeleBot):
try:
- # Если id администратора совпадает
- if message.from_user.id in ADMIN_IDS:
+ # Проверяем права администратора (без проверки прав на ограничение участников)
+ admin_check = await check_admin_status(bot, message, check_restrict_rights=False)
+ if admin_check == 1:
+ logger.info(f"Пользователь {message.from_user.id} не является администратором")
+ return
- # Отправляем базу данных
- await bot.send_document(
- chat_id=message.chat.id,
- document=open(DATABASE_NAME, 'rb')
- )
+ # Если проверка пройдена
- # Отправляем файл с логами
- await bot.send_document(
- chat_id=message.chat.id,
- document=open(LOG_FILE_NAME, 'rb')
- )
+ # Отправляем базу данных
+ await bot.send_document(
+ chat_id=message.chat.id,
+ document=open(DATABASE_NAME, 'rb')
+ )
- # Записываем действие в логи
- logger.info(f"Администратор {message.from_user.id} запустил /botdata.")
+ # Отправляем файл с логами
+ await bot.send_document(
+ chat_id=message.chat.id,
+ document=open(LOG_FILE_NAME, 'rb')
+ )
- # Если id администратора не совпадает
- else:
-
- # Отправляем предупреждение
- await bot.send_message(
- chat_id=message.chat.id,
- text=COMMAND_MESSAGES['no_admin_rights'],
- message_thread_id=message.message_thread_id,
- )
-
- # Записываем действие в логи
- logger.info(f"Пользователь {message.from_user.id} запустил /botdata.")
+ # Записываем действие в логи
+ logger.info(f"Администратор {message.from_user.id} запустил /botdata.")
except Exception as e: