#config-file #command-line-tool #send-message #chat #matrix-chat #sending #token

bin+lib matrix-notify

A command line tool for sending messages to matrix chatrooms

6 releases

0.4.2 Jan 18, 2024
0.3.4 Aug 4, 2023
0.2.1 Aug 1, 2023

#781 in Authentication

40 downloads per month

MIT license

35KB
827 lines

Matrix Notify

A command line tool for sending messages to matrix chatrooms.

Crates.io Crates.io (latest) Unsafe Rust forbidden
CI status Code coverage Codacy grade

Installation

To get started, install Matrix Notify using the following command:

cargo install matrix-notify

Config

Before using Matrix Notify, you'll need to set up a configuration file named matrix-notify.toml. To generate a sample config file in the current directory, run the command:

matrix-notify generate

The generated config file should be modified to match your connection settings.

When running matrix-notify, the provided token in the config file will be used for authentication. If an authentication error occurs or no token is provided, the password will be used instead. If password authentication succeeds, the config file will be automatically updated with the new token.

You can safely remove the password field from the config file once a token is generated. However, if the token becomes invalid, you'll need to provide the password again to obtain a new token.

Example matrix-notify.toml

base_url = "https://example.org"
local_username = "matrix-bot"
full_username = "@matrix-bot:example.org"
password = "Plaintext password"

Usage

For optimal security, it's recommended to create a dedicated Matrix user for use with this tool, as user credentials and/or access tokens will be stored in the plaintext config file.

To send a message to a chatroom, make sure to invite the bot user to the chatroom first. The bot user will automatically join the chatroom before sending the message if it's not already a member.

Example usage to send a message:

matrix-notify --room "\!roomid:matrix.org" --message "Lorem ipsum dolor sit amet"

Dependencies

~14–29MB
~447K SLoC