Yet another Bot implemented in pure Python.
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mbot-0.0.2.tar.gz
.
File metadata
- Download URL: mbot-0.0.2.tar.gz
- Upload date:
- Size: 18.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89f1a69cbff19b382df32f68e27ee5333d37312f5046d328b0c751ccb589d672 |
|
MD5 | 143b865685a0f34e7b0e3e5075c863a4 |
|
BLAKE2b-256 | 66e034a54fe5e650e24dc506e26fd02fd4777308edfdf2742b32d7b01b465147 |
File details
Details for the file mbot-0.0.2-py2.py3-none-any.whl
.
File metadata
- Download URL: mbot-0.0.2-py2.py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 77a1306f44ec0d426da1aea77064ce24082b207804db007da4adb2c6c4cc6f69 |
|
MD5 | cce05e269abad0b50e6a836a9b80cf26 |
|
BLAKE2b-256 | 4ddaa8aff7b30b7403963e302bb09f2a11d0dde60e268a970eb002772ddbeb93 |