Skip to main content

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)

Source distribution for chaanbot 3.1.1
File Size Uploaded Provenance
chaanbot-3.1.1.tar.gz 35.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for chaanbot 3.1.1
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page