67 lines
2.5 KiB
Python
67 lines
2.5 KiB
Python
from aiogram import Router, F
|
||
from aiogram.filters import Command
|
||
from aiogram.fsm.context import FSMContext
|
||
from aiogram.types import Message, CallbackQuery, InlineKeyboardButton
|
||
from aiogram.utils.i18n import gettext as _
|
||
from aiogram.utils.keyboard import InlineKeyboardBuilder
|
||
|
||
from bot.core.bots import BotInfo
|
||
from bot.filters import IsSuperAdmin
|
||
from bot.templates import msg
|
||
from bot.utils import status_clear
|
||
from configs import COMMANDS
|
||
|
||
# Настройки экспорта и роутера
|
||
__all__ = ("router", "settings_keyboard",)
|
||
CMD: str = "botsettings".lower()
|
||
router: Router = Router(name=f"{CMD}_cmd_router")
|
||
|
||
|
||
def settings_keyboard() -> InlineKeyboardBuilder:
|
||
"""Клавиатура настроек"""
|
||
ikb: InlineKeyboardBuilder = InlineKeyboardBuilder()
|
||
ikb.row(InlineKeyboardButton(text="🔙 Вернуться", callback_data=CMD))
|
||
return ikb
|
||
|
||
|
||
@router.callback_query(F.data.lower() == CMD, IsSuperAdmin())
|
||
@router.message(Command(*COMMANDS[CMD], prefix=BotInfo.prefix, ignore_case=True), IsSuperAdmin())
|
||
async def settings_cmd(message: Message | CallbackQuery, state: FSMContext) -> None:
|
||
"""Обработчик команды /settings"""
|
||
await status_clear(update=message, state=state)
|
||
|
||
# Создание инлайн-клавиатуры
|
||
ikb: InlineKeyboardBuilder = InlineKeyboardBuilder()
|
||
ikb.row(InlineKeyboardButton(text="Имя бота⚜️", callback_data='set_name'))
|
||
ikb.row(InlineKeyboardButton(text="Описание бота📝", callback_data='set_description'))
|
||
ikb.row(InlineKeyboardButton(text="Виджет🧩", callback_data='set_widget'))
|
||
ikb.row(InlineKeyboardButton(text="Аватарка🖼", callback_data='set_avatar'))
|
||
ikb.row(InlineKeyboardButton(text="Назад◀️", callback_data='settings'))
|
||
ikb.adjust(2)
|
||
|
||
# Формируем приветственное сообщение
|
||
text: str = _("""
|
||
⚙️ Настройки
|
||
"""
|
||
).format(
|
||
)
|
||
|
||
# Отправляем сообщение
|
||
await msg(update=message, text=text, markup=ikb, state=state)
|
||
|
||
@router.callback_query(F.data.lower() == "set_avatar", IsSuperAdmin())
|
||
async def avatar_zaglushka(
|
||
callback: CallbackQuery,
|
||
state: FSMContext
|
||
) -> None:
|
||
"""
|
||
Аватары нельзя менять в aiogram хнык
|
||
"""
|
||
|
||
await status_clear(update=callback, state=state)
|
||
|
||
await callback.answer(
|
||
text="Ну бля, я не виноват что тг говно и не даст поменять",
|
||
show_alert=True
|
||
)
|