51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
from aiogram import Router
|
|
from aiogram.filters import Command, CommandObject, CommandStart
|
|
from aiogram.types import Message
|
|
|
|
from app.bot.keyboards.inline import create_lottery_keyboard, lottery_detail_keyboard, main_menu_keyboard
|
|
|
|
router = Router()
|
|
|
|
|
|
@router.message(CommandStart())
|
|
async def cmd_start(message: Message, command: CommandObject) -> None:
|
|
# Deep-link from group announcement: /start lottery_<uuid>
|
|
if command.args and command.args.startswith("lottery_"):
|
|
lottery_id = command.args[len("lottery_"):]
|
|
await message.answer(
|
|
"🎰 Tap the button below to join the lottery:",
|
|
reply_markup=lottery_detail_keyboard(lottery_id),
|
|
)
|
|
return
|
|
|
|
await message.answer(
|
|
"👋 Welcome to <b>TG Lottery Bot</b>!\n\n"
|
|
"Tap the button below to get started. Use /help for more information.",
|
|
reply_markup=main_menu_keyboard(),
|
|
parse_mode="HTML",
|
|
)
|
|
|
|
|
|
@router.message(Command("newlottery"))
|
|
async def cmd_new_lottery(message: Message) -> None:
|
|
await message.answer("Create a new lottery 👇", reply_markup=create_lottery_keyboard())
|
|
|
|
|
|
@router.message(Command("mylotteries"))
|
|
async def cmd_my_lotteries(message: Message) -> None:
|
|
await message.answer("View my lotteries 👇", reply_markup=main_menu_keyboard())
|
|
|
|
|
|
@router.message(Command("help"))
|
|
async def cmd_help(message: Message) -> None:
|
|
await message.answer(
|
|
"📖 <b>TG Lottery Bot</b>\n\n"
|
|
"<b>Commands</b>\n"
|
|
"/start - Open lottery manager\n"
|
|
"/newlottery - Create a new lottery\n"
|
|
"/mylotteries - View my lotteries\n"
|
|
"/help - Show this help message\n\n"
|
|
"📦 <b>Powered by</b> git.stdm.moe/Stardream/TGLotteryBot",
|
|
parse_mode="HTML",
|
|
)
|