.gitignore | ||
COMPILE | ||
config.lua | ||
default_config.lua | ||
LICENCE | ||
Makefile | ||
matrix-send-config.5 | ||
matrix-send.1 | ||
matrix-send.lua | ||
README.md |
matrix-send
A script that sends messages to Matrix rooms.
matrix-send is a simple script that sends messages to Matrix rooms.
It does this by directly making requests to the API of your Matrix server.
The supported event types are m.text
and m.notice
.
It is mainly designed for automation.
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 your user (not root).
Now edit the file ~/.config/matrix-send/config.lua. You will first see the login
table.
-- This is a comment
login = {
server = "matrix.org",
username = "user",
password = "password"
}
Delete the example values and enter in your credentials.
For more configuration options, see matrix-send-config(5).
Installation
Before you install, you will need a few dependencies:
- lua: >= 5.3
- luarocks
- plus some luarocks packages...
To install matrix-send, run make install
as root, in the cloned repository's directory.
This will install all required packages, and copy matrix-send and its documentation to your system.
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.
If you don't want to type the long room ID every time, you can add an alias.
Open your configuration file, and create a rooms
table like so:
rooms = {
}
Now, you can add aliases. Say you wanted to add an alias called lounge
for a room with room ID !AbCdEfGhIjKlMn:matrix.org
.
You would make it this way:
rooms = {
lounge = "!AbCdEfGhIjKlMn:matrix.org"
}
Multiple aliases are separated by commas (as with any Lua table):
rooms = {
lounge = "!AbCdEfGhIjKlMn:matrix.org", -- <-- notice the comma
bathroom = "!OpQrStUvWxYz:matrix.org"
}
For more information, see matrix-send(1) and matrix-send-config(5).