from aiogram import Router, F
from aiogram.types import Message
from aiogram.fsm.context import FSMContext
from states import SupportState
from database import create_ticket
from config import ADMIN_IDS
from aiogram import Bot
from keyboards import ticket_keyboard
router = Router()
# пользователь нажал кнопку поддержки
@router.message(F.text == "✉️ Поддержка")
async def support_start(
message: Message,
state: FSMContext
):
await state.set_state(
SupportState.waiting_message
)
await message.answer(
"✉️ Опишите проблему.\n\n"
"Напишите сообщение, и оно будет отправлено разработчику."
)
# пользователь написал проблему --> соснул хуйца, я не буду фиксить
@router.message(
SupportState.waiting_message
)
@router.message(
SupportState.waiting_message
)
async def send_ticket(
message: Message,
state: FSMContext,
bot: Bot
):
ticket_id = await create_ticket(
message.from_user.id,
message.text
)
# уведомляем админов
for admin_id in ADMIN_IDS:
try:
await bot.send_message(
admin_id,
(
"📩 Новое обращение!\n\n"
f"🆔 Тикет: #{ticket_id}\n"
f"👤 Пользователь: "
f"{message.from_user.id}\n\n"
f"📝 Сообщение:\n"
f"{message.text}"
),
reply_markup=ticket_keyboard(ticket_id)
)
except Exception as e:
print(
f"Ошибка отправки админу {admin_id}: {e}"
)
await state.clear()
await message.answer(
f"✅ Обращение #{ticket_id} отправлено.\n\n"
"Спасибо за обратную связь!"
)