zulip/api/bots/incrementor/incrementor.py

30 lines
1.0 KiB
Python

# See readme.md for instructions on running this code.
class IncrementorHandler(object):
def usage(self):
return '''
This is a boilerplate bot that makes use of the
update_message function. For the first @-mention, it initially
replies with one message containing a `1`. Every time the bot
is @-mentioned, this number will be incremented in the same message.
'''
def handle_message(self, message, bot_handler, state_handler):
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 = state['message_id'],
content = str(state['number'])
))
handler_class = IncrementorHandler