send messages to Matrix rooms
Find a file
2022-08-03 16:25:38 +12:00
LICENSE Initial commit 2022-04-18 23:13:25 +00:00
Makefile Fix Makefile 2022-07-29 06:49:52 +12:00
matrix-send Fix breaking login issue 2022-08-03 16:25:38 +12:00
matrix-send.1 Update manpage mdocdate 2022-08-03 11:33:42 +12:00
matrix-send.conf Updated matrix-send.conf 2022-07-28 20:34:30 +12:00
matrix-send.conf.5 Add NoCache to config manpage 2022-08-03 01:22:06 +02:00
README.md Fix README.md 2022-08-02 09:12:10 +02:00

matrix-send

A script that sends a message to a Matrix room.

Read the manual page


Syntax: matrix-send message room

Example: matrix-send "Hello world\!" \!aBcDeFgHiJkLmNoP:example.org


matrix-send is a simple script that sends a message to a Matrix room.

It does this by sending a JSON message to your Matrix server. The message types that are supported are m.text, and m.notice.

It is mainly designed for automation. I use it on a private Matrix room of mine.

There aren't any plans for matrix-send to support encryption.

Get started

In order to start using matrix-send, you need a config file. To copy the default configuration to .config, clone this repository and type make config as the desired user (not root).

Now edit the file ~/.config/matrix-send.conf. You will see three (uncommented) lines.

Server ...
Username ...
Password ...

Delete the example values and enter in your credentials.

If you don't want to put your password in plain text, as matrix-send.conf is a shell script, you could do something like this:

Password $(gpg -d /path/to/passwd.gpg)

/path/to/passwd.gpg is a GPG-encrypted file containing only your password, once decrypted.

For more configuration options, see matrix-send.conf(5).


To install matrix-send, run make install as root, in the cloned repository's directory.

In order to send messages, you will need the Room ID of your choice. 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).