MBot
Yet another Bot implemented in pure Python. Is designed to support multiple backends with global state machine which can store shortcuts for your commands and more. Support user permissions for actions.
Free software: MIT license
Documentation: https://mbot.readthedocs.io.
Message Backends
Slack
MQTT (TODO)
RabbitMQ (TODO)
Storage Backends
Local file
S3 file
Support encryption in default
DB (TODO)
Middlewares
Slack
SQL
AirflowTrigger
Bash
Saltstack (pepper client)
Joker (say some joke)
History (list of your commands, save shortcuts)
Help
Features
Simple scheduler
User roles and permissions
Filebased config/state
Encrypted storage
Connections management
S3 storage
Dialogs
Auto installing of dependencies
Dynamic loading
Installation
pip install mbot
Usage
$ mbot run
Slack token: xoxb-46465446310727-654564564564654565456
Starting your BOT...
INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): slack.com
Config
$ mbot config
{'core': {'backends': ['slack'],
'config_path': '/Users/user/Library/Application '
'Support/mbot/mbot.conf',
'data_path': '/Users/user/Library/Application '
'Support/mbot/state.db'},
'logging': {'verbosity': 'INFO'},
'slack': {'engine': 'mbot.backends.slack.Slack',
'middlewares': ['mbot.contrib.system.Config',
'mbot.contrib.history.history',
'mbot.contrib.debug.Debug',
'mbot.contrib.bash.Bash',
'mbot.contrib.console.MBotConsole',
'mbot.contrib.python.Python',
'mbot.contrib.joker.Joker',
'mbot.contrib.hackernews.HackerNews',
'mbot.contrib.scheduler.Scheduler',
'mbot.contrib.salt.Salt',
'mbot.contrib.connections.Connections',
'mbot.contrib.dialogs.Dialogs',
'mbot.contrib.airflow.AirflowTrigger',
'mbot.contrib.sql.SQL',
'mbot.contrib.help.Help'],
'token': 'xoxb-46465446310727-654564564564654565456'},
'storage': {'encrypt': True,
'engine': 'local',
'fernet_token': 'oMdNGsFou566j4e3SL6cij3HR70D-xIqh58z30B2BAs='}}
Add user to admin group
mbot: users.all()
mbot: users.update("your_user_id", ["admin"], "groups")
TODO
Variables, management
Support Celery as executor
SSH
Use appdirs when data-path is not provied
History
0.1.0 (2017-02-09)
First release on PyPI.
Release files for mbot 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mbot-0.0.2.tar.gz | 18.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mbot-0.0.2-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 18.2 MB
Release files / mbot-0.0.2.tar.gz
| Download URL | mbot-0.0.2.tar.gz |
|---|---|
| Size | 18.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
89f1a69cbff19b382df32f68e27ee5333d37312f5046d328b0c751ccb589d672
|
|
BLAKE2b-256 checksum How to use checksums |
66e034a54fe5e650e24dc506e26fd02fd4777308edfdf2742b32d7b01b465147
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / mbot-0.0.2-py2.py3-none-any.whl
| Download URL | mbot-0.0.2-py2.py3-none-any.whl |
|---|---|
| Size | 17.9 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
77a1306f44ec0d426da1aea77064ce24082b207804db007da4adb2c6c4cc6f69
|
|
BLAKE2b-256 checksum How to use checksums |
4ddaa8aff7b30b7403963e302bb09f2a11d0dde60e268a970eb002772ddbeb93
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |