Skip to main content

A bot that interfaces with several different messenger services

Project description

Kudubot is a bot framework that allows running a bot on a multitude of messaging services. It is completely modular, adding new bot services and new connection types is relatively trivial.

The framework offers abstractions that allow all properly implemented bot services to work with different types of connections (Email, Telegram, Whatsapp or IRC for example) without having to change the code.

Installation

To install the program, either run

sudo pip install kudubot

or download the sources and run

sudo python setup.py install

Setuptools should automatically download all required dependencies without further input.

The program is being developed on Linux, it should in theory work on Windows and Mac OS X, though this has not been tested.

WARNING To use the Whatsapp connection, you need to have Yowsup installed. However, the current master branch of the original project contains a bug that breaks things when receiving private messages.

To circumvent this, please install my fork of the project in the meantime.

Usage

You can start the bot using the ‘kudubot’ command (setuptools should have installed it for you).

You will need to specify a connection type, which is the identifier string for one of the implemented connections or ‘all’, which starts the bot using all services.

You can also specify the output verbosity using the –verbosity. 0 disables all input, and there’s no real upper limit (Though to keep it sane, the highest verbosity that actually changes things is 5)

You can also directly run the bot without setting options by using one of these commands (again, they should be installed by setuptools automatically)

kudubot-email     # For the email connection
kudubot-telegram  # For the Telegram Connection
kudubot-whatsapp  # For the Whatsapp Connection  (Doesn't work right now)
kudubot-all       # For all connections

After starting the program for the first time, you will be notified that config files were created. The program creates a directory called ‘.kudubot’ (which is a hidden directory on Linux). it contains all configs, logs and other files/directories used by the bot services.

To be able to connect to a service, you will have to enter login credentials into the config file of the chosen connection type, which will be located under

~/.kudubot/config

The credential types are different for all types of connections and need to be set accordingly. The program creates template files when first run, so figuring out which kind of information to enter should not be all that difficult.

Once the credentials are entered, you can adjust which services will be run on startup by editing the -services file in the same directory.

As a last step you may want to adjust the admin and blacklist files in the

~/.kudubot/contacts

directory to give yourself admin rights for the bot and ignore things like other bots.

Developing

If you are not viewing this on gitlab.namibsun.net, this is only a mirror of that repository, active development is only being done on gitlab.namibsun.net. Issues are being checked on all mirrors though, so feel free to open issues on your version control hoster of choice.

For a guide on how to extend the bot, see this.

Contributing

This project is automatically mirrored to github, however all development is conducted at a privately hosted Gitlab instance. Issues on both services are taken unto consideration.

Documentation

Sphinx Documentation can be found here. A PDF version is also available

Support

If you have any questions about kudubot, feel free to open an issue or contact me directly at hermann@krumreyh.com.

Statistics

Automatically generated git statistics can be found here

Changelog

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

kudubot-0.7.6.tar.gz (69.1 kB view details)

Uploaded Source

Built Distributions

kudubot-0.7.6-py3-none-any.whl (164.0 kB view details)

Uploaded Python 3

kudubot-0.7.6-py2-none-any.whl (165.0 kB view details)

Uploaded Python 2

File details

Details for the file kudubot-0.7.6.tar.gz.

File metadata

  • Download URL: kudubot-0.7.6.tar.gz
  • Upload date:
  • Size: 69.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for kudubot-0.7.6.tar.gz
Algorithm Hash digest
SHA256 7117ef08206278f943d55c59ec0efa984071b1d07ab9012e15addc696e6b0a84
MD5 d609290aa4ae533682488aae7a0a5b61
BLAKE2b-256 5e4e4d5766ff5e9d48d9a32fdd1197bd08da37a7bee56652bd5faf09b8a99f45

See more details on using hashes here.

File details

Details for the file kudubot-0.7.6-py3-none-any.whl.

File metadata

File hashes

Hashes for kudubot-0.7.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5ccb394fa80d94d0bb414fe234ea64cf18b5c2bbf5fc0da2faa848ec2f9a3f5d
MD5 33a0cde554fffcf358f9d7b6a9f5a60e
BLAKE2b-256 15be89bc65d5a58253da6b78656d052d7e9b9c546756068033cfa73531e13944

See more details on using hashes here.

File details

Details for the file kudubot-0.7.6-py2-none-any.whl.

File metadata

File hashes

Hashes for kudubot-0.7.6-py2-none-any.whl
Algorithm Hash digest
SHA256 aa92f071f8aeb06571ba4e0d890ed35bcf0ceefcc01e4539fa2cc61a31149ad0
MD5 bfe0e6b4b51b70a867b05f5e67c3d276
BLAKE2b-256 e42feced8d4196d5333da4c1abf780f7cc4acdfbbab8ed997b1a87feaa7bb8c0

See more details on using hashes here.

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