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.
Metadata
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 | Provenance | |
|---|---|---|---|---|
| mbot-0.0.2.tar.gz | 18.2 MB | Without provenance | 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 |
Security for mbot 0.0.2
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.