forked from Muzifs/LGBot
Исправление определения пользователя для сброса нарушений
This commit is contained in:
@@ -29,32 +29,23 @@ def register_handlers(bot: AsyncTeleBot):
|
||||
target_user = None
|
||||
target_user_id = None
|
||||
|
||||
# Обработка ответа на сообщение
|
||||
if message.reply_to_message:
|
||||
target_user = message.reply_to_message.from_user
|
||||
target_user_id = target_user.id
|
||||
|
||||
# Обработка по username или ID
|
||||
else:
|
||||
parts = message.text.split(maxsplit=1)
|
||||
|
||||
if len(parts) < 2:
|
||||
await send_temp_message(
|
||||
bot,
|
||||
message,
|
||||
COMMAND_MESSAGES['reset_violations_help']
|
||||
)
|
||||
return
|
||||
# Парсим команду
|
||||
parts = message.text.split(maxsplit=1)
|
||||
|
||||
# Если есть аргументы в команде (username или ID) - используем их
|
||||
if len(parts) >= 2:
|
||||
identifier = parts[1].strip()
|
||||
|
||||
# Попытка получить по username
|
||||
if identifier.startswith('@'):
|
||||
username = identifier[1:]
|
||||
logger.info(f"Поиск пользователя по username: {username}")
|
||||
user_data = db.get_user_by_username(username)
|
||||
if user_data:
|
||||
target_user_id = user_data[0]
|
||||
logger.info(f"Найден пользователь в БД: id={user_data[0]}, nickname={user_data[1]}, tag={user_data[2]}")
|
||||
else:
|
||||
logger.warning(f"Пользователь с username {username} не найден в БД")
|
||||
await send_temp_message(
|
||||
bot,
|
||||
message,
|
||||
@@ -66,6 +57,7 @@ def register_handlers(bot: AsyncTeleBot):
|
||||
else:
|
||||
try:
|
||||
target_user_id = int(identifier)
|
||||
logger.info(f"Использован ID пользователя: {target_user_id}")
|
||||
except ValueError:
|
||||
await send_temp_message(
|
||||
bot,
|
||||
@@ -74,6 +66,21 @@ def register_handlers(bot: AsyncTeleBot):
|
||||
)
|
||||
return
|
||||
|
||||
# Если аргументов нет - пробуем использовать reply_to_message
|
||||
elif message.reply_to_message:
|
||||
target_user = message.reply_to_message.from_user
|
||||
target_user_id = target_user.id
|
||||
logger.info(f"Использован пользователь из reply_to_message: id={target_user_id}")
|
||||
|
||||
# Если ни аргументов, ни reply нет - показываем help
|
||||
else:
|
||||
await send_temp_message(
|
||||
bot,
|
||||
message,
|
||||
COMMAND_MESSAGES['reset_violations_help']
|
||||
)
|
||||
return
|
||||
|
||||
# Проверяем, что нашли пользователя
|
||||
if not target_user_id:
|
||||
await send_temp_message(
|
||||
|
Reference in New Issue
Block a user