Connect instant messaging bots to your APIs.
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.rst

Permabots

https://github.com/jlmadurga/permabots/raw/master/docs/images/logos/permabots.png

CI:

https://travis-ci.org/jlmadurga/permabots.svg?branch=master https://coveralls.io/repos/github/jlmadurga/permabots/badge.svg?branch=master Requirements Status

PyPI:

Docs:

Documentation Status

Build chat bots and connect then to your app APIs.

With Permabots you can build chat bots and with the same configuration use it for several instant messaging providers. Permabots was born to be a microservice to connect messaging providers to your apps using REST APIs.

https://github.com/jlmadurga/permabots/raw/master/docs/images/demo.gif

Documentation

The full documentation is at https://permabots.readthedocs.org.

Features

  • Telegram, Kik and Facebook Messenger bots
  • Message handling definition with regex, as django urls.
  • HTTP methods: GET/POST/PUT/DELETE/PATCH
  • Text responses and keyboards with Jinja2 templates
  • Chat State handling
  • Asynchronous processing of messages
  • Media messages not supported

Quickstart

Install permabots:

pip install permabots

Add permabots to your INSTALLED_APPS, and run:

$ python manage.py migrate permabots

Instant messaging providers uses webhooks to send messages to your bots. Add permabots processing urls to your urlpatterns:

url(r'^processing/', include('permabots.urls_processing', namespace="permabots"))

Webhooks are generated with django.contrib.sites. You need it installed and SITE_ID configured. If you want to generate webhook manually you can do it:

MICROBOT_WEBHOOK_DOMAIN = 'https://yourdomain.herokuapp.com'

It is usefull when you don't have https in your public domain but you have it in your autogenerated domain. i.e. heroku.

Bots are associated to Django Users. You need at least one user, for example admin user.

Then you can create all permabots data, Bots, Conversation Handlers, Notitication Hooks,... via Django admin or with REST API (recommended).

Remember there is an online implementation in www.permabots.com to use it for free.

Demo

You can check and deploy a Permabots demo https://github.com/jlmadurga/permabots-demo

Running Tests

Does the code actually work?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install -r requirements/test.txt
(myenv) $ make test
(myenv) $ make test-all