Add settings display

This commit is contained in:
BarsTiger
2023-11-05 15:37:02 +02:00
parent ee0a0ff285
commit e5a4fc5384
13 changed files with 186 additions and 6 deletions

View File

@@ -1,6 +1,8 @@
from aiogram import Router
from . import (
full_menu,
on_home,
settings,
)
from bot.middlewares import PrivateButtonMiddleware
@@ -11,4 +13,6 @@ router.callback_query.middleware(PrivateButtonMiddleware())
router.include_routers(
full_menu.router,
on_home.router,
settings.router,
)

View File

@@ -1,6 +0,0 @@
from typing import Literal
from aiogram.filters.callback_data import CallbackData
class FullMenuCallback(CallbackData, prefix='full_menu'):
action: Literal['settings']

View File

@@ -1,13 +1,19 @@
from aiogram import Router, F
from aiogram import Router, F, Bot
from aiogram.types import (
CallbackQuery
)
from .factories.full_menu import FullMenuCallback
from bot.factories.full_menu import FullMenuCallback
from bot.keyboards.inline.settings import get_settings_kb
router = Router()
@router.callback_query(FullMenuCallback.filter(F.action == 'settings'))
async def on_close(callback_query: CallbackQuery):
await callback_query.answer('Settings are not available yet')
async def on_settings(callback_query: CallbackQuery, bot: Bot):
await bot.edit_message_text(
inline_message_id=callback_query.inline_message_id,
text='⚙️ Settings',
reply_markup=get_settings_kb()
)

19
bot/callbacks/on_home.py Normal file
View File

@@ -0,0 +1,19 @@
from aiogram import Router, F, Bot
from aiogram.types import (
CallbackQuery
)
from bot.factories.full_menu import FullMenuCallback
from bot.keyboards.inline.full_menu import get_full_menu_kb
router = Router()
@router.callback_query(FullMenuCallback.filter(F.action == 'home'))
async def on_home(callback_query: CallbackQuery, bot: Bot):
await bot.edit_message_text(
inline_message_id=callback_query.inline_message_id,
text='⚙️ Menu',
reply_markup=get_full_menu_kb()
)

27
bot/callbacks/settings.py Normal file
View File

@@ -0,0 +1,27 @@
from aiogram import Router, Bot
from aiogram.types import (
CallbackQuery
)
from bot.factories.open_setting import OpenSettingCallback
from bot.keyboards.inline.setting import get_setting_kb
from bot.modules.settings import settings_strings
router = Router()
@router.callback_query(OpenSettingCallback.filter())
async def on_settings(
callback_query: CallbackQuery,
callback_data: OpenSettingCallback,
bot: Bot
):
await bot.edit_message_text(
inline_message_id=callback_query.inline_message_id,
text=settings_strings[callback_data.s_id].description,
reply_markup=get_setting_kb(
callback_data.s_id,
str(callback_query.from_user.id)
)
)