Python-based notification script to post a message to a materix server via the Matrix client/server API
Project description
noti.py
Simple Python-based notification script to post to a matrix server via the Matrix client/server API
This is not an interactive chat bot. The use case is to have scripts send alerts to a single alert channel.
Documentation
Full documentation is available at notipy.readthedocs.io
How to install
Via PyPi
As of version 0.0.6, noti.py has been published to PyPi, so installing (should
be) as easy as
pip install noti_py
This will also create a notipy
"entrypoint" to use as the binary to run.
Via git
- clone the repo
- install the requirements
pip install -r requirements.txt
cp example-config.yaml <config_dir>config.yaml
- Edit the config.yaml to your local needs
- Then just use
./noti.py --help
to figure out what options you can specify
<config_dir> referenced in step 3 above will be checked in the following order or preference
- . (current directory)
- ~/.config/noti_py
- /etc/noti_py
If you want it in another location completely, specify the --config
option to
override.
How do I use this thing?
start with noti.py --help
to see a list of the commands you can use. Generally you are going to need to do the following things:
- Create a user on your server for this script to connect as
- Connect to a room by either:
- Creating a new room
noti.py create
or - Joining a room
noti.py join
if you've already invited the user from step 1 with a different user
- Creating a new room
- Edit the config.yaml to put in your access token and all your homeserver configuration. If you don't know your token, you can get it by running
./noti.py token
At this point you should be able to send a message with: ./noti.py send "message to send"
or if you are so inclined, you can pipe stdin to the script with echo "message to send"|./noti.py send
Inspiration
I tried to use mnotify which is written in go. When I ran make
, it gave a segfault upon running mnotify
. Rather than try to learn go, I decided to just try to do the same thing in python.
Contribute
Feel free to fork, make updates and submit a pull request for new things or to fix some horrible python atrocity I have commited ;)
Chat
You can join me on matrix at https://matrix.to/#/#noti.py:arachnitech.com
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.