/
i_super_programmer
/
chat_bot
Обзор
Документация
Войти
/
i_super_programmer
/
chat_bot
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
handler/add_button.py
61 строка
2 KB
vasya2222
add file
02 дек 2024, 13:57
02 дек 2024, 13:57
53cb0c3
Код
Авторство
О чём код?
from aiogram import Router, F, types from aiogram.filters import Command from aiogram.types import Message from aiogram.fsm.state import State, StatesGroup from aiogram.fsm.context import FSMContext from keyboard.choose.choose import add_button, add_button_under_category, choose_text, delete_under_button from config.bot import CANAL, bot router = Router() class NameButton(StatesGroup): name = State() class CreateUnderCategory(StatesGroup): choose_button = State() name_button = State() @router.message(Command('add')) async def add(message: Message, state: FSMContext): admins = [admin.user.id for admin in await bot.get_chat_administrators(CANAL)] if message.from_user.id in admins: await message.answer('Введите название кнопки') await state.set_state(NameButton.name) @router.message(NameButton.name) async def get_name_button(message: Message, state: FSMContext): add_button(message.text) await message.answer(f'Кнопка {message.text} добавлена') await state.clear() @router.message(Command('add_under_button')) async def add_under_button(message: Message, state: FSMContext): admins = [admin.user.id for admin in await bot.get_chat_administrators(CANAL)] if message.from_user.id in admins: await message.answer('Выберите кнопку для добавления подкнопки', reply_markup=choose_text()) await state.set_state(CreateUnderCategory.choose_button) @router.message(CreateUnderCategory.choose_button) async def create_button(message: Message, state: FSMContext): await state.update_data(choose_button=message.text) await message.answer('Введите название подкнопки', reply_markup=types.ReplyKeyboardRemove()) await state.set_state(CreateUnderCategory.name_button) @router.message(CreateUnderCategory.name_button) async def create_button(message: Message, state: FSMContext): await state.update_data(name_button=message.text) data = await state.get_data() add_button_under_category(data['choose_button'], data['name_button']) await message.answer(f'Подкнопка {data["name_button"]} создана!') await state.clear()