diff --git a/app/handlers/admin/tickets.py b/app/handlers/admin/tickets.py
index 2503cd48..051e5dc1 100644
--- a/app/handlers/admin/tickets.py
+++ b/app/handlers/admin/tickets.py
@@ -169,9 +169,13 @@ async def view_admin_ticket(
}.get(ticket.status, ticket.status)
user_name = ticket.user.full_name if ticket.user else "Unknown"
-
+ telegram_id_display = ticket.user.telegram_id if ticket.user else "—"
+ username_display = (ticket.user.username or "отсутствует") if ticket.user else "отсутствует"
+
ticket_text = f"🎫 Тикет #{ticket.id}\n\n"
ticket_text += f"👤 Пользователь: {user_name}\n"
+ ticket_text += f"🆔 Telegram ID: {telegram_id_display}\n"
+ ticket_text += f"📱 Username: @{username_display}\n"
ticket_text += f"📝 Заголовок: {ticket.title}\n"
ticket_text += f"📊 Статус: {ticket.status_emoji} {status_text}\n"
ticket_text += f"📅 Создан: {ticket.created_at.strftime('%d.%m.%Y %H:%M')}\n"
diff --git a/app/handlers/tickets.py b/app/handlers/tickets.py
index b421f426..a6445a00 100644
--- a/app/handlers/tickets.py
+++ b/app/handlers/tickets.py
@@ -9,6 +9,7 @@ from sqlalchemy.ext.asyncio import AsyncSession
from app.database.models import User, Ticket, TicketStatus
from app.database.crud.ticket import TicketCRUD, TicketMessageCRUD
+from app.database.crud.user import get_user_by_id
from app.keyboards.inline import (
get_ticket_cancel_keyboard,
get_my_tickets_keyboard,
@@ -937,10 +938,21 @@ async def notify_admins_about_new_ticket(ticket: Ticket, db: AsyncSession):
if len(title) > 60:
title = title[:57] + "..."
+ # Загрузим пользователя, чтобы отобразить реальный Telegram ID и username
+ try:
+ user = await get_user_by_id(db, ticket.user_id)
+ except Exception:
+ user = None
+ full_name = user.full_name if user else "Unknown"
+ telegram_id_display = user.telegram_id if user else "—"
+ username_display = (user.username or "отсутствует") if user else "отсутствует"
+
notification_text = (
f"🎫 НОВЫЙ ТИКЕТ\n\n"
f"🆔 ID: {ticket.id}\n"
- f"👤 User ID: {ticket.user_id}\n"
+ f"👤 Пользователь: {full_name}\n"
+ f"🆔 Telegram ID: {telegram_id_display}\n"
+ f"📱 Username: @{username_display}\n"
f"📝 Заголовок: {title or '—'}\n"
f"📅 Создан: {ticket.created_at.strftime('%d.%m.%Y %H:%M')}\n"
)
diff --git a/app/services/monitoring_service.py b/app/services/monitoring_service.py
index 042f67b8..d5cc02bb 100644
--- a/app/services/monitoring_service.py
+++ b/app/services/monitoring_service.py
@@ -1325,10 +1325,17 @@ class MonitoringService:
if len(title) > 60:
title = title[:57] + '...'
+ # Детали пользователя: имя, Telegram ID и username
+ full_name = ticket.user.full_name if ticket.user else "Unknown"
+ telegram_id_display = ticket.user.telegram_id if ticket.user else "—"
+ username_display = (ticket.user.username or "отсутствует") if ticket.user else "отсутствует"
+
text = (
f"⏰ Ожидание ответа на тикет превышено\n\n"
f"🆔 ID: {ticket.id}\n"
- f"👤 User ID: {ticket.user_id}\n"
+ f"👤 Пользователь: {full_name}\n"
+ f"🆔 Telegram ID: {telegram_id_display}\n"
+ f"📱 Username: @{username_display}\n"
f"📝 Заголовок: {title or '—'}\n"
f"⏱️ Ожидает ответа: {waited_minutes} мин\n"
)