diff --git a/bot/display_names.py b/bot/display_names.py new file mode 100644 index 0000000..d540889 --- /dev/null +++ b/bot/display_names.py @@ -0,0 +1,3 @@ +DISPLAY_NAMES = { + 1248189033: "Линочка", +} \ No newline at end of file diff --git a/bot/handlers/game.py b/bot/handlers/game.py index e6761e7..66d38a5 100644 --- a/bot/handlers/game.py +++ b/bot/handlers/game.py @@ -19,6 +19,7 @@ from bot.keyboards.game_keyboard import get_game_choice_keyboard, GameChoiceCall from bot.keyboards.reply_keyboards import PLAY_BUTTON_TEXT from bot.utils.game_logic import determine_winner, CHOICE_NAMES_RU from bot.utils.helpers import get_partner +from bot.display_names import DISPLAY_NAMES router = Router() @@ -48,8 +49,8 @@ async def check_and_resolve_yesterdays_game(user_id: int, partner_id: int, bot: await finish_game(game.id, None) return True - p1_name = p1_user.username or p1_user.first_name or f"Пользователь {p1_user.telegram_id}" - p2_name = p2_user.username or p2_user.first_name or f"Пользователь {p2_user.telegram_id}" + p1_name = DISPLAY_NAMES.get(p1_user.telegram_id, p1_user.username or f"Пользователь {p1_user.telegram_id}") + p2_name = DISPLAY_NAMES.get(p2_user.telegram_id, p2_user.username or f"Пользователь {p2_user.telegram_id}") winner_db_id: Optional[int] = None result_message: str = "" @@ -228,8 +229,8 @@ async def handle_game_choice( await bot.send_message(partner.telegram_id, "Ошибка: не удалось получить данные игроков для завершения игры.") return - p1_name = p1_user.username or f"Игрок {p1_user.telegram_id}" - p2_name = p2_user.username or f"Игрок {p2_user.telegram_id}" + p1_name = DISPLAY_NAMES.get(p1_user.telegram_id, p1_user.username or f"Пользователь {p1_user.telegram_id}") + p2_name = DISPLAY_NAMES.get(p2_user.telegram_id, p2_user.username or f"Пользователь {p2_user.telegram_id}") if winner_relation == 1: winner_db_id = updated_game.player1_id @@ -259,7 +260,7 @@ async def handle_game_choice( else: partner_user = await get_user_by_id(partner.id) if partner_user: - current_user_name = user_db_obj.username or user_db_obj.first_name or f"Пользователь {user_db_obj.telegram_id}" + current_user_name = DISPLAY_NAMES.get(user_db_obj.telegram_id, user_db_obj.username or f"Пользователь {user_db_obj.telegram_id}") try: await bot.send_message( partner_user.telegram_id, diff --git a/bot/handlers/start.py b/bot/handlers/start.py index ee12597..b556988 100644 --- a/bot/handlers/start.py +++ b/bot/handlers/start.py @@ -5,6 +5,7 @@ from bot.database.models import User as DbUser from typing import Optional import logging from bot.keyboards.reply_keyboards import get_main_menu_keyboard +from bot.display_names import DISPLAY_NAMES router = Router() @@ -17,8 +18,7 @@ async def handle_start(message: types.Message, **kwargs): await message.answer("Произошла ошибка при получении ваших данных.") return - username = user_db_obj.username or user_db_obj.first_name or f"Пользователь {user_db_obj.telegram_id}" - # Отправляем приветствие и клавиатуру + username = DISPLAY_NAMES.get(user_db_obj.telegram_id, user_db_obj.username or f"Пользователь {user_db_obj.telegram_id}") await message.answer( f"Привет, {username}! ✨\n\n" f"Это бот 'Кто больше любит'. Используй кнопки ниже, чтобы играть или смотреть статистику! 😉", diff --git a/bot/handlers/stats.py b/bot/handlers/stats.py index 9426e36..576ad1c 100644 --- a/bot/handlers/stats.py +++ b/bot/handlers/stats.py @@ -14,6 +14,7 @@ from bot.database.db import ( ) from bot.utils.helpers import get_partner from bot.keyboards.reply_keyboards import STATS_BUTTON_TEXT +from bot.display_names import DISPLAY_NAMES router = Router() @@ -44,8 +45,8 @@ async def handle_stats(message: types.Message, **kwargs): await message.answer("Произошла ошибка при получении статистики. Попробуйте позже.") return - user_name = user_db_obj.username or user_db_obj.first_name or f"Пользователь {user_db_obj.telegram_id}" - partner_name = partner.username or partner.first_name or f"Пользователь {partner.telegram_id}" + user_name = DISPLAY_NAMES.get(user_db_obj.telegram_id, user_db_obj.username or f"Пользователь {user_db_obj.telegram_id}") + partner_name = DISPLAY_NAMES.get(partner.telegram_id, partner.username or f"Пользователь {partner.telegram_id}") stats_text = ( f"📊 Статистика \"Кто больше любит?\" ❤️\n\n"