feat: Added travel models, travel creation command, travels list command with pagination, set help message, improvements and fixes

This commit is contained in:
ITQ
2024-03-23 02:47:05 +03:00
parent 675e5ab891
commit 1802ce81b0
15 changed files with 623 additions and 15 deletions
+36
View File
@@ -0,0 +1,36 @@
__all__ = ()
from aiogram import Router
from aiogram.filters import Command, StateFilter
from aiogram.types import Message
from app import messages
from app.config import Config
from app.filters.user import Registered
from app.keyboards.builders import travels_keyboard
from app.models.user import User
router = Router(name="travels_command")
@router.message(Command("travels"), Registered(), StateFilter(None))
async def command_help_handler(message: Message) -> None:
page = 0
if message.from_user is None:
return
user = User().get_user_by_telegram_id(message.from_user.id)
travels = user.get_user_travels()
if not travels or travels == []:
await message.answer(messages.NO_TRAVELS)
else:
pages = (len(travels) + Config.PAGE_SIZE - 1) // Config.PAGE_SIZE
await message.answer(
messages.TRAVELS,
reply_markup=travels_keyboard(travels, page, pages),
)