# chaanbot
A python 3 [matrix](https://matrix.org) bot using [matrix-python-sdk](https://github.com/matrix-org/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
Raw data
{
"_id": null,
"home_page": "https://github.com/RichardNysater/chaanbot",
"name": "chaanbot",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.5",
"maintainer_email": "",
"keywords": "m,a,t,r,i,x, ,c,h,a,t, ,b,o,t",
"author": "Richard Nys\u00e4ter",
"author_email": "richard@nysater.org",
"download_url": "https://files.pythonhosted.org/packages/63/d1/f0b3b0a442b5bd549786a5970714fd75d941e617f2da3432f5cac8474210/chaanbot-3.1.1.tar.gz",
"platform": null,
"description": "# chaanbot\n\nA python 3 [matrix](https://matrix.org) bot using [matrix-python-sdk](https://github.com/matrix-org/matrix-python-sdk).\nThe bot is extensible and currently provides:\n\n* Highlight module allows users to easily notify groups of users. E.g. \"!hl javadevs spring-boot vs micronaut?\" would\n highlight/notify any user in the javadevs group.\n* Weather module allows users to broadcast weather reports.\n* More to come!\n\nBot is under active development and severe breaking changes should be expected until a stable release is created.\n\n# Install instructions\n\nChaanbot requires Python 3.\n\nAdd user for bot. Not required but recommended:\n\n```\nsudo adduser --disabled-password chaanbot\nsudo su chaanbot\n```\n\nCreate virtual environment and install bot and its dependencies:\n\n```\npython3 -m venv chaanbot\nsource chaanbot/bin/activate\npython3 -m pip install chaanbot\n```\n\nStart bot to initialize config file creation, then edit the config file to your liking. Config file location is the\nuser's config directory as determined by appdirs, typical locations are:\n\n Mac OS X: ~/Library/Application Support/chaanbot/chaanbot.cfg\n Unix: ~/.config/chaanbot/chaanbot.cfg or in $XDG_CONFIG_HOME, if defined\n Win *: C:\\Users\\<username>\\AppData\\[local or roaming]\\chaanbot\\chaanbot\\chaanbot.cfg\n\nOutput of running the bot will also show where the config file is located:\n\n```\nchaanbot\nnano .config/chaanbot/chaanbot.cfg\n```\n\nBot should now be runnable as chaanbot user:\n\n```\nchaanbot\n```\n\nFor convenience bot can be added as service. With sudo access, copy chaanbot.service file to\n/etc/systemd/system/chaanbot.service:\n\n```\nsudo nano /etc/systemd/system/chaanbot.service\n```\n\nBot is now startable from systemctl:\n\n```\nsudo service chaanbot start\n```\n\nAnd can be set to run on boot:\n\n```\nsudo systemctl enable chaanbot\n```\n\n# Upgrading version\n\n## Upgrading from 1.x to 2.0\n\nIn 2.0 access token login is (hopefully temporarily) disabled, use password login instead. See chaanbot.cfg.sample for\nhow to set password.\n\n## Commands\n\n```\nsudo su chaanbot\nsource /home/chaanbot/chaanbot/bin/activate\npython3 -m pip install -U chaanbot\n```\n\n# TODO\n\n## Core\n\n* Improve error handling\n* Integration tests and better test coverage\n* Improve installation documentation for non-Ubuntu installations\n\n## Modules\n\n* Make weather coordinates not room-dependent\n\n\n",
"bugtrack_url": null,
"license": "GPLv3+",
"summary": "A Matrix chat bot",
"version": "3.1.1",
"project_urls": {
"Homepage": "https://github.com/RichardNysater/chaanbot"
},
"split_keywords": [
"m",
"a",
"t",
"r",
"i",
"x",
" ",
"c",
"h",
"a",
"t",
" ",
"b",
"o",
"t"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "de6348697c881d75a7e1359aaa8d47d1647b2c9829b25d92043b20d75a902947",
"md5": "826e5744e68f2869051aa2fcfa32a986",
"sha256": "efc8d2dbaadd73fe1a4303e72ef4f4f6aac368e616e226c7b255dace10ca9ba6"
},
"downloads": -1,
"filename": "chaanbot-3.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "826e5744e68f2869051aa2fcfa32a986",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.5",
"size": 49616,
"upload_time": "2023-05-14T14:12:07",
"upload_time_iso_8601": "2023-05-14T14:12:07.401134Z",
"url": "https://files.pythonhosted.org/packages/de/63/48697c881d75a7e1359aaa8d47d1647b2c9829b25d92043b20d75a902947/chaanbot-3.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "63d1f0b3b0a442b5bd549786a5970714fd75d941e617f2da3432f5cac8474210",
"md5": "86c7cfbc5af28c9802f7afa4dd46448b",
"sha256": "29c3d823dc20bc53d30913dcae20d648b5b349208878590f73cfe46a298c29b7"
},
"downloads": -1,
"filename": "chaanbot-3.1.1.tar.gz",
"has_sig": false,
"md5_digest": "86c7cfbc5af28c9802f7afa4dd46448b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 35632,
"upload_time": "2023-05-14T14:12:21",
"upload_time_iso_8601": "2023-05-14T14:12:21.263706Z",
"url": "https://files.pythonhosted.org/packages/63/d1/f0b3b0a442b5bd549786a5970714fd75d941e617f2da3432f5cac8474210/chaanbot-3.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-14 14:12:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "RichardNysater",
"github_project": "chaanbot",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "chaanbot"
}