Fix usernames

This commit is contained in:
itqop 2025-04-28 19:23:48 +03:00
parent 261317985c
commit 7db17f8020
4 changed files with 14 additions and 9 deletions

3
bot/display_names.py Normal file
View File

@ -0,0 +1,3 @@
DISPLAY_NAMES = {
1248189033: "Линочка",
}

View File

@ -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,

View File

@ -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"Это бот 'Кто больше любит'. Используй кнопки ниже, чтобы играть или смотреть статистику! 😉",

View File

@ -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"📊 <b>Статистика \"Кто больше любит?\"</b> ❤️\n\n"