67 lines
1.8 KiB
Python
67 lines
1.8 KiB
Python
from aiogram.utils.i18n import gettext as _
|
||
from aiogram.types import Message, CallbackQuery
|
||
|
||
from sqlalchemy.ext.asyncio import AsyncSession
|
||
|
||
from Mousey.Database import check_user
|
||
from Mousey.Bot.Keyboards import get_menu_markup, get_back_markup
|
||
|
||
|
||
#################
|
||
### Сообщения ###
|
||
#################
|
||
async def cmd_menu(message: Message, session: AsyncSession) -> None:
|
||
"""
|
||
Отправка главного меню бота сообщением.
|
||
"""
|
||
await check_user(
|
||
session=session,
|
||
telegram_id=message.from_user.id,
|
||
)
|
||
|
||
await message.answer(
|
||
text=_("Полное главное меню"),
|
||
reply_markup=get_menu_markup(),
|
||
)
|
||
|
||
|
||
#######################
|
||
### Обратные вызовы ###
|
||
#######################
|
||
async def call_menu(
|
||
call: CallbackQuery, session: AsyncSession
|
||
) -> None:
|
||
"""
|
||
Вызов главного меню с помощью колбека.
|
||
"""
|
||
await check_user(
|
||
session=session,
|
||
telegram_id=call.from_user.id,
|
||
)
|
||
|
||
await call.message.edit_text(
|
||
text=_("Краткое главное меню"),
|
||
reply_markup=get_menu_markup(),
|
||
)
|
||
|
||
|
||
async def call_useful_info(call: CallbackQuery):
|
||
"""
|
||
Полезные ссылки и прочая информация в главном меню.
|
||
"""
|
||
user_id = call.from_user.id
|
||
|
||
await call.message.edit_text(
|
||
text=_("Полезная информация").format(user_id=user_id),
|
||
reply_markup=get_back_markup(),
|
||
)
|
||
|
||
|
||
async def call_about_bot_info(call: CallbackQuery):
|
||
"""
|
||
Информация о боте в главном меню.
|
||
"""
|
||
await call.message.edit_text(
|
||
text=_("Информация о боте"),
|
||
reply_markup=get_back_markup(),
|
||
)
|