Skip to main content

A simple Gitter chatbot.

Project description

=============
Hadroid Bot
=============

Installation
============
Hadroid is on PyPI:

.. code-block:: console

$ pip install hadroid

Configuration
=============
Copy the default configuration file:

.. code-block:: console

$ cp hadroid/config.py myconfig.py

Edit the ``myconfig.py`` and set the ``GITTER_PERSONAL_ACCESS_TOKEN`` to your
Gitter API token.

Point to your config with environmental variable:

.. code-block:: console

$ export HADROID_CONFIG=myconfig.py

Usage
=====
The bot is run using the ``hadroid`` command,
which allows for launching bot threads that can listen
on the Gitter channels for incoming commands or execute periodic tasks.

Run the bot on Gitter
~~~~~~~~~~~~~~~~~~~~
Bot will listen for messages and reply back on a single channel.
This can be either an orgazation channel, repository or a private one-on-one
chat with a user. The bot needs to be already in the room, or at least one
private message needs to be send to the bot.

First, run the main bot "server" application:

.. code-block:: console

$ hadroid run

Keep this session alive an in another session have the bot join some channels:

.. code-block:: console

$ hadroid --help

For CRON commands, run a CRON daemon in a separate shell:

.. code-block:: console

$ hadroid start stream <your_github_username>
$ hadroid start cron <your_github_username>

Deployment
==========
To deploy Hadroid you can use the provided `fabile.py
<http://docs.fabfile.org/en/latest/>`_ (tested on commonly used VPS vanilla
instances of Ubuntu 16.04 and Debian 8) in the following manner:

.. code-block:: console

$ # fabtools is a helper library for Fabric
$ pip2 install --user fabric fabtools

$ # "bootstrap" has to run once for each machine you plan to deploy
$ fab -U root -H my-server.xyz bootstrap

$ # You should run "deploy" everytime you change the config as well
$ fab -U root -H my-server.xyz deploy:config_path=/path/to/your/config.py

$ # To manage the bot you can use the "start/stop/restart" commands:
$ fab -U root -H my-server.xyz start

Take a look and modify the fabfile if your remote machine doesn't play well.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hadroid-0.1.19.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

hadroid-0.1.19-py2.py3-none-any.whl (21.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file hadroid-0.1.19.tar.gz.

File metadata

  • Download URL: hadroid-0.1.19.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.11.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.5.6

File hashes

Hashes for hadroid-0.1.19.tar.gz
Algorithm Hash digest
SHA256 515aa7fc8cf322d7fd7669c692e2fa8c9e3c1f7b5d3ea8a55664d1f6659c21c3
MD5 d185eaf84b38c2d51722bd8d0afc7e7a
BLAKE2b-256 1802dbea145d694d8b8e0b0084ee4102635a478543b11b87c3b8789f4dea65fb

See more details on using hashes here.

File details

Details for the file hadroid-0.1.19-py2.py3-none-any.whl.

File metadata

  • Download URL: hadroid-0.1.19-py2.py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.11.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.5.6

File hashes

Hashes for hadroid-0.1.19-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 950fb97d8808ade7d604246c730244d9b08f45e61d0cfa9f76dc932fe568025e
MD5 1da24219ecd241fbd1306ca1e6dcfc76
BLAKE2b-256 8d4bd03a5b981b20f677dd04aa5ba164446c468c6f00f922afeba35e80dbf07e

See more details on using hashes here.

Supported by

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