Клавиатура для инлайн кнопок

This commit is contained in:
Whyverum
2024-12-18 12:17:26 +07:00
parent c05f8e3f5f
commit d7357347ba
2 changed files with 57 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
# BotCode/keyboards/start_kb.py
# Создания клавиатуры на команду: /start
from aiogram import Router
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from aiogram.utils.keyboard import InlineKeyboardBuilder
# Создание роутера и настройка экспорта
__all__ = ("router", "get_randnum_kb", "kb_text", "ButtonInl",)
kb_text = "RandNumKb"
router = Router(name="actor_kb_router")
# Класс с параметрами кнопок
class ButtonInl:
mark_cbd = "mark_cbd"
# Функция создания клавиатуры на команду: /actor
def get_randnum_kb(text_msg="Получить ответ") -> InlineKeyboardMarkup:
# Создаем билдер клавиатуры
builder = InlineKeyboardBuilder()
# Добавляем кнопки, группируя их по строкам
builder.button(text=text_msg, callback_data=ButtonInl.mark_cbd)
return builder.as_markup()

View File

@@ -0,0 +1,30 @@
from random import randint
from aiogram import Router, F
from aiogram.types import CallbackQuery
from keyboards.inline_kb.actor_kb import ButtonInl
router = Router(name="actor_kb_cb_router")
@router.callback_query(F.data == ButtonInl.random_site_cbd)
async def random_site_cb(callback_query: CallbackQuery):
bot_me = await callback_query.bot.me()
await callback_query.answer(
url=f"t.me/{bot_me.username}?start={randint(1, 500)}"
)
@router.callback_query(F.data == ButtonInl.random_num_dice_cbd)
async def random_num_dice_cb(callback_query: CallbackQuery):
await callback_query.answer(
text = f"Твое рандомное число: {randint(1, 21)}",
cache_time=1,
)
@router.callback_query(F.data == ButtonInl.random_num_modal_cdb)
async def random_num_dice_modal_cb(callback_query: CallbackQuery):
await callback_query.answer(
text = f"Членов в жопе у Степана: {randint(1, 2200)}",
show_alert=True,
)