aiogram telegram bot
Пишу небольшого чат бота(первый раз) используя стейт машину (pytransitions). Столкнулся с такой проблемой , бот не переходит к следующему шагу, хотя никаких эксепшенов не выбрасывается.
старт функция и следующий шаг
@dp.message_handler(commands=['start', 'pizza'])
async def start(message: types.Message):
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
for size in available_pizza_size:
keyboard.add(size)
await message.answer('Какую вы хотите пиццу? Большую или маленькую?', reply_markup=keyboard)
tgBot.asked_size()
async def size_choosen(message: types.Message):
global pizza_size
if message.text.lower() not in available_pizza_size:
await message.answer('Пожалуйста, выберите размер пиццы используя клавиатуру ниже')
return
await tgBot.size_selected()
pizza_size = message.text.lower()
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True)
for method in available_payment_method:
keyboard.add(method)
await message.answer('Как будете платить?', reply_markup=keyboard)
tgBot.asked_for_payment_method()
стейт машина
class TelegramBot(object):
states = ['asleep',
'asked_size',
'waiting_for_size',
'size_selected',
'asked_for_payment_method',
'waiting_for_payment_method',
'payment_selected',
'asked_for_confirmation'
'waiting_for_confirmation',
'confirmed']
transitions = [
{'trigger': 'asked_size', 'source': 'asleep', 'dest': 'waiting_for_size'},
{'trigger': 'size_selected', 'source': 'waiting_for_size', 'dest': 'asked_for_payment_method'},
{'trigger': 'waiting_for_payment_method', 'source': 'asked_for_payment_method', 'dest': 'payment_selected'},
{'trigger': 'asked_for_confirmation', 'source': 'payment_selected', 'dest': 'waiting_for_confirmation'},
{'trigger': 'confirmed', 'source': 'waiting_for_confirmation', 'dest': 'asleep'},
подскажите, пожалуйста, как перейти к следующему шагу бота. Возможно я что-то упустил