mirror of
https://github.com/djimboy/djimbo_template_aio3.git
synced 2026-07-25 09:44:29 +00:00
48 lines
1.7 KiB
Python
48 lines
1.7 KiB
Python
# - *- coding: utf- 8 - *-
|
|
from aiogram import Router, Bot, F
|
|
from aiogram.filters import Command
|
|
from aiogram.types import Message, CallbackQuery
|
|
|
|
from tgbot.database.db_users import UserModel
|
|
from tgbot.keyboards.inline_main import user_finl
|
|
from tgbot.keyboards.reply_main import menu_frep
|
|
from tgbot.utils.misc.bot_models import FSM, ARS
|
|
|
|
router = Router(name=__name__)
|
|
|
|
|
|
# Кнопка пользовательского меню
|
|
@router.message(F.text == 'Пользовательское меню')
|
|
async def user_button_inline(message: Message, bot: Bot, state: FSM, arSession: ARS, User: UserModel):
|
|
await state.clear()
|
|
|
|
await message.answer(
|
|
"Инлайн-клавиатура пользователя",
|
|
reply_markup=user_finl()
|
|
)
|
|
|
|
|
|
# Команда возврата в меню
|
|
@router.message(Command(commands="menu"))
|
|
async def user_command_menu(message: Message, bot: Bot, state: FSM, arSession: ARS, User: UserModel):
|
|
await state.clear()
|
|
|
|
await message.answer(
|
|
"Команда /menu открывает главное меню",
|
|
reply_markup=menu_frep(message.from_user.id),
|
|
)
|
|
|
|
|
|
# Колбэк для демо-действия
|
|
@router.callback_query(F.data == 'user_inline_x')
|
|
async def user_callback_inline_x(call: CallbackQuery, bot: Bot, state: FSM, arSession: ARS, User: UserModel):
|
|
await call.answer("Действие выполнено")
|
|
|
|
|
|
# Колбэк с параметром из пользовательской кнопки
|
|
@router.callback_query(F.data.startswith('user_inline:'))
|
|
async def user_callback_inline(call: CallbackQuery, bot: Bot, state: FSM, arSession: ARS, User: UserModel):
|
|
get_data = call.data.split(":")[1]
|
|
|
|
await call.answer(f"Выбран раздел: {get_data}", True)
|