/
i_super_programmer
/
chat_bot
Обзор
Документация
Войти
/
i_super_programmer
/
chat_bot
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
handler/delete_button.py
68 строк
3 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, list_category, choose_text, delete_under_button, delete_main_button, add_under_button) from config.bot import CANAL, bot router = Router() class DeleteMainButton(StatesGroup): name_button = State() class DeleteUnderButton(StatesGroup): main_button = State() under_button = State() @router.message(Command('delete')) async def delete_button(message: Message, state: FSMContext): await state.clear() admins = [admin.user.id for admin in await bot.get_chat_administrators(CANAL)] if message.from_user.id in admins: await message.answer("Добро пожаловать! Используйте кнопки для взаимодействия.") await message.answer('Выберите кнопку для удаления', reply_markup=choose_text()) await state.set_state(DeleteMainButton.name_button) @router.message(DeleteMainButton.name_button) async def delete_button(message: Message, state: FSMContext): delete_main_button(message.text) await state.update_data(main_button=message.text) await message.answer(f'Кнопка {message.text} удалена', reply_markup=types.ReplyKeyboardRemove()) await state.clear() @router.message(Command('delete_under')) async def delete_under_button_for_main_button(message: Message, state: FSMContext): await state.clear() admins = [admin.user.id for admin in await bot.get_chat_administrators(CANAL)] if message.from_user.id in admins: await message.answer("Добро пожаловать! Используйте кнопки для взаимодействия.") await message.answer('Выберите кнопку для удаления подкнопки', reply_markup=choose_text()) await state.set_state(DeleteUnderButton.main_button) @router.message(DeleteUnderButton.main_button) async def delete_under_button_for_main_button(message: Message, state: FSMContext): await state.update_data(main_button=message.text) await message.answer('Выберите подкнопку для удаления', reply_markup=add_under_button(message.text)) await state.set_state(DeleteUnderButton.under_button) @router.message(DeleteUnderButton.under_button) async def delete_under_button_for_main_button(message: Message, state: FSMContext): await state.update_data(under_button=message.text) data = await state.get_data() delete_under_button(data['main_button'], data["under_button"]) await message.answer(f'Подкнопка {data["under_button"]} удалена', reply_markup=types.ReplyKeyboardRemove()) await state.clear()