Skip to content

Instantly share code, notes, and snippets.

@toracle
Last active August 3, 2017 06:08
Show Gist options
  • Save toracle/4d79e9ae10084b0ef5b35743a6c50e70 to your computer and use it in GitHub Desktop.
Save toracle/4d79e9ae10084b0ef5b35743a6c50e70 to your computer and use it in GitHub Desktop.
bothub-tutorial-digitalocean-2
from bothub_client.bot import BaseBot
from bothub_client.messages import Message
from .doapi import DigitalOcean
class Bot(BaseBot):
def handle_message(self, event, context):
message = event.get('content')
if message == '/start':
self.set_start_message(event)
else:
data = self.get_user_data()
api_key = data.get('api')
if api_key:
self.verify_api(message, event)
return
def set_start_message(self, event):
data = self.get_user_data()
data['api'] = True
self.set_user_data(data)
self.send_message('Start managing DigitalOcean Droplet.\n' \
'Please input DigitalOcean access token to connect to API.')
def verify_api(self, api_key, event):
d = DigitalOcean(api_key)
res = d.get_droplets()
if res == 401:
self.send_message('Invalid access token..\n'\
'Please input again.')
else:
data = self.get_user_data()
data['api'] = False
data['api_key'] = api_key
self.set_user_data(data)
message = Message(event).set_text('Registration completed.')
message.add_keyboard_button('Create Droplet')
message.add_keyboard_button('List all Droplets')
self.send_message(message)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment