Skip to main content

An extensible chat bot that works across any number of chat programs

Project description

HavocBot
========

.. image:: https://img.shields.io/pypi/v/havocbot.svg
:target: https://pypi.python.org/pypi/havocbot

HavocBot is an extensible chat bot that works across any number of chat programs




Features
--------

- Connect to multiple chat systems simultaneously
- Plugin system designed to work across all integrated chat clients
- New chat integrations can be dropped into file system for new functionality
- Plugin focus will be on helpful DevOps integrations and work distractions
- More coming soon...




Supported Chat Integrations
---------------

Out of the box, the following chat integrations are supported::

- Slack
- XMPP
- HipChat
- Skype (see note below)

Contributors are encouraged to create their own chat integrations not listed above and to provide them back to the community!


Installation
------------

Install the latest version from pip:

.. code:: bash

pip install havocbot

Copy the example `main.py`_ and `settings.ini`_ files into a new directory on your machine. Modify the settings.ini to include the neccessary API tokens and server settings for the chat clients that the bot should connect to.

Make sure the chat client is also listed in the 'clients_enabled' field in settings.ini

Open terminal and navigate to the directory where main.py and settings.ini is located

Run the following in terminal:

.. code:: bash

python main.py

HavocBot should connect to the chat clients if valid credentials were provided




Writing a Plugin
----------------

Coming soon...




Skype Support
-------------

Microsoft has said that support for the Skype API will be dropped at some point in the future so support will be minimal. Skype integration requires some special setup as stated below.

- Skype support is only available in python 2.6 and 2.7 (Skype4Py does not support python 3)
- The Skype desktop application must be running and logged in prior to starting HavocBot and must be ran alongside HavocBot to work.
- If using OSX, 32-bit support through Skype4Py must be forced via:

.. code:: bash

arch -i386 pip install Skype4Py

- HavocBot must also be forced to run in 32-bit mode on OSX via:

.. code:: bash

arch -i386 python main.py




Python 2.6 Legacy Compatibility
-------------------------------
- XMPP, HipCHat are compatible out of the box
- Skype support requires an extra pip module to be installed. See `Skype Support` above
- Slack requires an extra pip module to be installed to support python 2.6. SlackClient v0.18.0 depends on 'requests' which requires 'ndg-httpsclient' to enable TLS SNI (See https://github.com/kennethreitz/requests/issues/749#issuecomment-19187417)

.. code:: bash

pip install ndg-httpsclient




Credits
-------
Mark Perdue (https://github.com/markperdue, https://www.righteousbanana.com)

.. _`main.py`: https://github.com/markperdue/havocbot/tree/master/src/havocbot/examples/main.py
.. _`settings.ini`: https://github.com/markperdue/havocbot/tree/master/src/havocbot/examples/settings.ini

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

havocbot-0.2.0.tar.gz (27.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

havocbot-0.2.0-py2.py3-none-any.whl (39.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file havocbot-0.2.0.tar.gz.

File metadata

  • Download URL: havocbot-0.2.0.tar.gz
  • Upload date:
  • Size: 27.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for havocbot-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ccf47b24b90a582df28e42b785d5303f69d9befa1608d0bf6cc48ae06af165b5
MD5 213489d71437a6a682a354ac30a12dc2
BLAKE2b-256 c72747a3d33f41bb4eb0d18ae997d3578dcbd56fce261469b260724f763f70f1

See more details on using hashes here.

File details

Details for the file havocbot-0.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for havocbot-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e572cc4911eaf5c360bc910a4e4094f4149bd94e5864912d1961a7904230899d
MD5 b3399a4b951a2926050caa8a4a6ce80f
BLAKE2b-256 128e0b95d5eb9a57f3abd9dc9e26683fcb65c2066fa7cb9abb62f4fc8e9e3fef

See more details on using hashes here.

Supported by

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