Metadata-Version: 2.1
Name: chaanbot
Version: 0.0.24
Summary: A Matrix chat bot
Home-page: https://github.com/RichardNysater/chaanbot
Author: Richard Nysäter
Author-email: richard@nysater.org
License: GPLv3+
Keywords: matrix chat bot
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Topic :: Communications :: Chat
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Requires-Python: >=3.5
Description-Content-Type: text/markdown
Requires-Dist: matrix-client
Requires-Dist: appdirs
Requires-Dist: requests

# 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 higlight 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
Install dependencies:
```
sudo apt-get install python3-pip python3-dev nginx
sudo pip3 install virtualenv
```

Add user for bot. Not required but recommended:
```
sudo adduser --disabled-password chaanbot
sudo su chaanbot
```

Create virtual environment and install bot:
```
python3 -m venv chaanbot
source chaanbot/bin/activate
pip3 install -r requirements.txt
python3 -m pip install --no-cache-dir --index-url https://test.pypi.org/simple/ --no-deps chaanbot
```

Start bot to initialize config file creation, then edit the config file to your liking.
Output of running the bot will 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 systemctl start chaanbot
```

And can be set to run on boot:
```
sudo systemctl enable chaanbot
```

# Upgrading version
```
sudo su chaanbot
source /home/chaanbot/chaanbot/bin/activate
python3 -m pip install -U --index-url https://test.pypi.org/simple/ --no-deps chaanbot
```

# TODO
* Improve error handling
* Integration tests and better test coverage
* More modules
* Improve installation documentation for non-Ubuntu 18.04 installations :-)
* Use Poetry for dependency management?

