我第一次使用 pytransitions 并遇到了这个问题,我正在尝试做一些状态并测试它
from transitions import Machine
class TelegramBot(object):
states = ['asleep',
'wait_for_size',
'size_selected'
'wait_for_payment',
'payment_selected',
'wait_for_confirmation',
'confirmed']
transitions = [
{'trigger': 'wait_for_size', 'source': 'asleep', 'dest': 'size_selected'},
{'trigger': 'wait_for_payment', 'source': 'size_selected', 'dest': 'payment_selected'},
{'trigger': 'wait_for_confirmation', 'source': 'payment_selected', 'dest': 'confirmed'},
{'trigger': 'asleep', 'source': 'confirmed', 'dest': 'asleep'}
]
def __init__(self, name):
self.name = name
self.pizza_orders = 0
self.machine = Machine(model=self,
states=TelegramBot.states,
initial='asleep')
self.machine.add_transition(trigger='wait_for_size',
source='asleep',
dest='size_selected')
self.machine.add_transition(trigger='wait_for_payment',
source='size_selected',
dest='payment_selected')
self.machine.add_transition(trigger='wait_for_confirmation',
source='payment_selected',
dest='confirmed')
self.machine.add_transition(trigger='confirmed',
source='wait_for_confirmation',
dest='asleep')
def update_orders(self):
self.pizza_orders += 1
tgBot = TelegramBot('KVINT_TEST')
print(tgBot.state)
tgBot.wait_for_size()
print(tgBot.state)
我正在尝试自己更改状态并收到此错误:ValueError:状态'size_selected'不是注册状态。
我跟进了文档对不起可能是愚蠢的问题