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.

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.5.tar.gz (66.9 kB view details)

Uploaded Source

Built Distributions

kudubot-0.7.5-py3-none-any.whl (159.5 kB view details)

Uploaded Python 3

kudubot-0.7.5-py2-none-any.whl (160.4 kB view details)

Uploaded Python 2

File details

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

File metadata

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

File hashes

Hashes for kudubot-0.7.5.tar.gz
Algorithm Hash digest
SHA256 5a00995a75608ac748b6e1263005d044b834092087cab9734c1982cc4211e511
MD5 e6e74fd3bb15c4a59d0473def9042d37
BLAKE2b-256 c1007ff979a3c9bc70a78663fbed2ea42bd072463211c636b90d746befdd6d9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kudubot-0.7.5-py3-none-any.whl
Algorithm Hash digest
SHA256 414421ef6cf41d5a5a9814f429ddb9f34c8146250c99cf64e409475c10759227
MD5 f13aeea48dd7c7bddea422f6754cd385
BLAKE2b-256 a95189a4aa78a196cba602fa918c6451ce822b0032abc56675696a3ae35d0f64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kudubot-0.7.5-py2-none-any.whl
Algorithm Hash digest
SHA256 25529125212fdd49f2746a9934afd83ef4abe05c9b0332624ee5f4f35a5eb7cc
MD5 f7c37a83efb1c665bc386a7bbc0f51bc
BLAKE2b-256 17f1cd57ef84061d046ff2e310b713c5d662845982353531e4261b59bf73d58e

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