matrix-send/README.md
2022-07-29 06:39:05 +12:00

61 lines
1.9 KiB
Markdown

# matrix-send
A script to send a message to a Matrix room.
---
**Syntax:** `matrix-send message room`
**For example:** `matrix-send "Hello world\!" \!aBcDeFgHiJkLmNoP:example.org`
---
`matrix-send` is a simple script to send a message to a Matrix room.
It does this by sending a JSON message to your Matrix server. The message type supported is currently only m.text, but other types will be supported.
It is mainly designed for automation. I use it on a private Matrix room of mine.
`matrix-send` doesn't have support for end-to-end encryption, and never will.
## Get started
In order to start using `matrix-send` you need a config file. To copy the configuration to .config, clone this repository and type:
```shell
$ make config
```
Now edit the file ~/.config/matrix-send.conf. You will see three (uncommented) lines.
```shell
Server ...
Username ...
Password ...
```
Delete the example values and enter in your credentials.
If you don't want to put your password in plain text, since matrix-send.conf is a shell script, you could do something like this:
```shell
Password $(gpg -d /path/to/passwd.gpg)
```
/path/to/passwd.gpg is a GPG-encrypted file containing only your password, once decrypted.
---
To install matrix-send, run `make install` as root, in the cloned repository's directory.
```shell
# make install
```
In order to send messages, you need your Room ID. Find the room you want to send to, and find its Room ID in the settings or somewhere else. It will likely be under Advanced or something similar.
To send a message, type `matrix-send` followed by your message and then your Room ID. You may need to escape the exclamation mark(s). For example:
matrix-send 'Hi!' \!asdfasdfasdfasdf:matrix.org
That will send the message "Hi!" to the Matrix room !asdfasdfasdfasdf:matrix.org.
For more information, see [matrix-send(1)](https://codeberg.org/jtbx/matrix-send/src/branch/master/doc/matrix-send.1.md).