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.
Metadata
Release files for hadroid 0.1.19
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| hadroid-0.1.19.tar.gz | 16.9 kB | Without provenance | Details for hadroid-0.1.19.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| hadroid-0.1.19-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details for hadroid-0.1.19-py2.py3-none-any.whl |
Total release size: 38.0 kB
Release files / hadroid-0.1.19.tar.gz
| Download URL | hadroid-0.1.19.tar.gz |
|---|---|
| Size | 16.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
515aa7fc8cf322d7fd7669c692e2fa8c9e3c1f7b5d3ea8a55664d1f6659c21c3
|
|
BLAKE2b-256 checksum How to use checksums |
1802dbea145d694d8b8e0b0084ee4102635a478543b11b87c3b8789f4dea65fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / hadroid-0.1.19-py2.py3-none-any.whl
| Download URL | hadroid-0.1.19-py2.py3-none-any.whl |
|---|---|
| Size | 21.1 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
950fb97d8808ade7d604246c730244d9b08f45e61d0cfa9f76dc932fe568025e
|
|
BLAKE2b-256 checksum How to use checksums |
8d4bd03a5b981b20f677dd04aa5ba164446c468c6f00f922afeba35e80dbf07e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Security for hadroid 0.1.19
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.