Skip to main content

A CLI tool for bothub.studio service

Project description

This package provides command line interface to Bothub.studio service.

Installation

To install bothub-cli:

$ pip install bothub-cli

or, if you are not installing in a virtualenv:

$ sudo pip install bothub-cli

The bothub-cli package works on python2 and 3 both.

Getting Started

Before using bothub-cli, you need to tell it about your Bothub.studio credentials.

$ bothub configure
Username: myuser
Password: mysecret

Then it stores access token on ~/.bothub directory.

To start build a new bot:

$ mkdir mybot
$ cd mybot
$ bothub init
Project name: mybot

Now you have a starter echo bot:

.
|-- bothub
|   |-- bot.py
|   `-- __init__.py
|-- bothub.yml
|-- requirements.txt
`-- tests

Edit bot.py below for your purpose.

# -*- coding: utf-8 -*-

from __future__ import (absolute_import, division, print_function, unicode_literals)

from bothub_client.bot import BaseBot


class Bot(BaseBot):
    """Represent a Bot logic which interacts with a user.

    BaseBot superclass have methods belows:

    * Send message
      * self.send_message(message, user_id=None, channel=None)
    * Data Storage
      * self.set_project_data(data)
      * self.get_project_data()
      * self.set_user_data(data, user_id=None, channel=None)
      * self.get_user_data(user_id=None, channel=None)

    When you omit user_id and channel argument, it regarded as a user
    who triggered a bot.
    """

    def handle_message(self, event, context):
        self.send_message(event['content'])

and deploy it.

$ bothub deploy

You also need to configure channel to use.

$ bothub channel add telegram --api-key=<my-api-key>

Usage

Usage: bothub [OPTIONS] COMMAND [ARGS]...

Bothub is a command line tool that configure, init, and deploy bot codes
to BotHub.Studio service

Options:
  --help  Show this message and exit.

Commands:
  channel    Setup channels of current project
  configure  Setup credentials
  deploy     Deploy project
  init       Initialize project
  ls         List projects
  rm         Delete a project

Setup

Authorize a user and get access token.

$ bothub configure

Project management

Initialize project on current directory. Create a echo chatbot code.

$ bothub init

Deploy current project.

$ bothub deploy

List of projects.

$ bothub ls

Delete a project.

$ bothub rm <project_name>

Channel management

List of channels for current project.

$ bothub channel ls

Add a channel for current project.

$ bothub channel add <channel> --api-key=<api_key> --app-id=<app_id>

Remove a channel from current project.

$ bothub channel rm <channel>

Resources

  • Documentation (TBD)

License

Apache License 2.0

Project details


Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page