chaanbot
A python 3 matrix bot using matrix-python-sdk. The bot is extensible and currently provides:
- Highlight module allows users to easily notify groups of users. E.g. "!hl javadevs spring-boot vs micronaut?" would highlight/notify any user in the javadevs group.
- Weather module allows users to broadcast weather reports.
- More to come!
Bot is under active development and severe breaking changes should be expected until a stable release is created.
Install instructions
Chaanbot requires Python 3.
Add user for bot. Not required but recommended:
sudo adduser --disabled-password chaanbot
sudo su chaanbot
Create virtual environment and install bot and its dependencies:
python3 -m venv chaanbot
source chaanbot/bin/activate
python3 -m pip install chaanbot
Start bot to initialize config file creation, then edit the config file to your liking. Config file location is the user's config directory as determined by appdirs, typical locations are:
Mac OS X: ~/Library/Application Support/chaanbot/chaanbot.cfg
Unix: ~/.config/chaanbot/chaanbot.cfg or in $XDG_CONFIG_HOME, if defined
Win *: C:\Users\<username>\AppData\[local or roaming]\chaanbot\chaanbot\chaanbot.cfg
Output of running the bot will also show where the config file is located:
chaanbot
nano .config/chaanbot/chaanbot.cfg
Bot should now be runnable as chaanbot user:
chaanbot
For convenience bot can be added as service. With sudo access, copy chaanbot.service file to /etc/systemd/system/chaanbot.service:
sudo nano /etc/systemd/system/chaanbot.service
Bot is now startable from systemctl:
sudo service chaanbot start
And can be set to run on boot:
sudo systemctl enable chaanbot
Upgrading version
Upgrading from 1.x to 2.0
In 2.0 access token login is (hopefully temporarily) disabled, use password login instead. See chaanbot.cfg.sample for how to set password.
Commands
sudo su chaanbot
source /home/chaanbot/chaanbot/bin/activate
python3 -m pip install -U chaanbot
TODO
Core
- Improve error handling
- Integration tests and better test coverage
- Improve installation documentation for non-Ubuntu installations
Modules
- Make weather coordinates not room-dependent
Metadata
Release files for chaanbot 3.1.1
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 | |
|---|---|---|---|---|
| chaanbot-3.1.1.tar.gz | 35.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chaanbot-3.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 85.2 kB
Release files / chaanbot-3.1.1.tar.gz
| Download URL | chaanbot-3.1.1.tar.gz |
|---|---|
| Size | 35.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
29c3d823dc20bc53d30913dcae20d648b5b349208878590f73cfe46a298c29b7
|
|
BLAKE2b-256 checksum How to use checksums |
63d1f0b3b0a442b5bd549786a5970714fd75d941e617f2da3432f5cac8474210
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/62.1.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2
|
Release files / chaanbot-3.1.1-py3-none-any.whl
| Download URL | chaanbot-3.1.1-py3-none-any.whl |
|---|---|
| Size | 49.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
efc8d2dbaadd73fe1a4303e72ef4f4f6aac368e616e226c7b255dace10ca9ba6
|
|
BLAKE2b-256 checksum How to use checksums |
de6348697c881d75a7e1359aaa8d47d1647b2c9829b25d92043b20d75a902947
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/62.1.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.2
|
Security for chaanbot 3.1.1
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.