Bots: Adjust Incrementor bot to use StateHandler
MODIFY
bots/incrementor/incrementor.py
bots/incrementor/incrementor.py
class IncrementorHandler(object):
- def __init__(self):
- self.number = 0
- self.message_id = None
-
def usage(self):
return '''
This is a boilerplate bot that makes use of the
@@ -16,14 +12,17 @@ class IncrementorHandler(object):
'''
def handle_message(self, message, bot_handler, state_handler):
- self.number += 1
- if self.message_id is None:
- result = bot_handler.send_reply(message, str(self.number))
- self.message_id = result['id']
+ state = state_handler.get_state() or {'number': 0, 'message_id': None}
+ state['number'] += 1
+ state_handler.set_state(state)
+ if state['message_id'] is None:
+ result = bot_handler.send_reply(message, str(state['number']))
+ state['message_id'] = result['id']
+ state_handler.set_state(state)
else:
bot_handler.update_message(dict(
- message_id=self.message_id,
- content=str(self.number),
+ message_id = state['message_id'],
+ content = str(state['number'])
))

Bots: Adjust Incrementor bot to use StateHandler