Merge pull request 'Use nickname instead of username in P2P chat display' (#14) from v2_functions into master
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #14
This commit is contained in:
@@ -45,10 +45,14 @@ def format_sender_name(user: User, is_current_user: bool = False, current_user_i
|
|||||||
if is_current_user:
|
if is_current_user:
|
||||||
return "🔵 Вы"
|
return "🔵 Вы"
|
||||||
|
|
||||||
# Формируем базовое имя
|
# Если это администратор и текущий пользователь не админ - показываем "Админ"
|
||||||
name = f"@{user.username}" if user.username else user.first_name or "Unknown"
|
if user.is_admin and not current_user_is_admin:
|
||||||
|
return "🔵 Админ"
|
||||||
|
|
||||||
# Добавляем информацию о карте если пользователь админ и у собеседника есть карта
|
# Формируем базовое имя (используем nickname из профиля)
|
||||||
|
name = user.nickname or user.first_name or f"@{user.username}" or "Unknown"
|
||||||
|
|
||||||
|
# Добавляем информацию о карте если пользователь админ и текущий юзер админ
|
||||||
if current_user_is_admin and user.club_card_number:
|
if current_user_is_admin and user.club_card_number:
|
||||||
name += f" (карта: {user.club_card_number})"
|
name += f" (карта: {user.club_card_number})"
|
||||||
|
|
||||||
@@ -131,7 +135,7 @@ async def select_recipient(callback: CallbackQuery, state: FSMContext):
|
|||||||
# Создаём кнопки с пользователями (по 1 на строку)
|
# Создаём кнопки с пользователями (по 1 на строку)
|
||||||
buttons = []
|
buttons = []
|
||||||
for user in users[:20]: # Ограничение 20 пользователей на странице
|
for user in users[:20]: # Ограничение 20 пользователей на странице
|
||||||
display_name = f"@{user.username}" if user.username else user.first_name
|
display_name = user.nickname or f"@{user.username}" or user.first_name or "Unknown"
|
||||||
if user.club_card_number:
|
if user.club_card_number:
|
||||||
display_name += f" (карта: {user.club_card_number})"
|
display_name += f" (карта: {user.club_card_number})"
|
||||||
|
|
||||||
@@ -187,7 +191,7 @@ async def start_conversation(callback: CallbackQuery, state: FSMContext):
|
|||||||
await state.update_data(recipient_id=recipient.id, recipient_telegram_id=recipient.telegram_id)
|
await state.update_data(recipient_id=recipient.id, recipient_telegram_id=recipient.telegram_id)
|
||||||
await state.set_state(P2PChatStates.chatting)
|
await state.set_state(P2PChatStates.chatting)
|
||||||
|
|
||||||
recipient_name = f"@{recipient.username}" if recipient.username else recipient.first_name
|
recipient_name = recipient.nickname or f"@{recipient.username}" or recipient.first_name or "Unknown"
|
||||||
|
|
||||||
text = f"💬 <b>Диалог с {recipient_name}</b>\n\n"
|
text = f"💬 <b>Диалог с {recipient_name}</b>\n\n"
|
||||||
|
|
||||||
@@ -246,7 +250,7 @@ async def show_conversations(callback: CallbackQuery):
|
|||||||
|
|
||||||
buttons = []
|
buttons = []
|
||||||
for peer, last_msg, unread in conversations:
|
for peer, last_msg, unread in conversations:
|
||||||
peer_name = f"@{peer.username}" if peer.username else peer.first_name
|
peer_name = peer.nickname or f"@{peer.username}" or peer.first_name or "Unknown"
|
||||||
|
|
||||||
# Иконка в зависимости от непрочитанных
|
# Иконка в зависимости от непрочитанных
|
||||||
icon = "🔴" if unread > 0 else "💬"
|
icon = "🔴" if unread > 0 else "💬"
|
||||||
|
|||||||
Reference in New Issue
Block a user