from aiogram import Bot, Dispatcher, types
from aiogram.types import BotCommand
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from app.config_reader import load_config
from app.handlers.a import register_handlers_a
async def main():
config = load_config("config/bot.ini")
bot = Bot(token=config.tg_bot.token)
dp = Dispatcher(bot, storage=MemoryStorage())
register_handlers_a(dp)
await dp.start_polling()
if name == 'main':
asyncio.run(main())
код a.py
from aiogram import Dispatcher, types
from aiogram.dispatcher import FSMContext
from aiogram.dispatcher.filters.state import State, StatesGroup
import app.handlers.keyboards as kb
class A(StatesGroup):
waiting_for_initial_data = State()
waiting_for_time = State()
async def a_start(message: types.Message):
txt = "Введите исходные данные"
await message.answer(txt, reply_markup=kb.inline_kb1)
await A.waiting_for_initial_data.set()
#@dp.inline_handler(lambda inline_query: True)
async def process_callback_button1(callback_query: types.CallbackQuery):
await bot.answer_callback_query(callback_query.id)
await bot.send_message(callback_query.from_user.id, 'Нажата инлайн кнопка!')
async def a_initial_data_inputted(message: types.Message, state: FSMContext):
pass
def register_handlers_a(dp: Dispatcher):
dp.register_message_handler(a_start, commands="a", state="*")
dp.register_message_handler(a_initial_data_inputted, state=A.waiting_for_initial_data)
dp.register_callback_query_handler(process_callback_button1, lambda inline_query: True)
Как правильно обработать callback и перейти к следующему State?
ты хочешь обработать каллбэк хендлер, но в декораторе у тебя инлайн хендлер
Декоратор закомменчен.
Можно сразу 2 хердлера
Дуров почини телеграм
Удали простыню
Обсуждают сегодня