Home
For up-to-date information, the latest news, latest documentation,
etc. and to give it a star, please go to GitHub:
Thanks for giving a Github star.
Summary, TLDR
This simple Matrix client written in Python allows you to send and
receive messages and files, verify other devices, and interact with
your Matrix account or other Matrix users in many ways.
You use it from the terminal (CLI) or integrate it into other simple
Python programs. Enjoy and please :star: star on Github.
matrix-commander
Simple but convenient CLI-based Matrix client app for sending, receiving,
creating rooms, inviting, verifying, and so much more.
matrix-commander is a simple command-line Matrix
client.
It is a simple but convenient app to
send Matrix text messages as well as text, image, audio, video or
other arbitrary files
listen to and receive Matrix messages, images, audio, video, etc.
download media files like images or audio
perform Matrix emoji verification
performs actions of rooms (create rooms, invite to rooms, etc.)
list rooms and room members
and much more
It exclusively offers a command-line interface (CLI).
Hence the word-play: matrix-command(lin)er
There is no GUI and there are no windows (except for pop-up windows in
OS notification)
It uses the matrix-nio SDK
Both matrix-nio and matrix-commander are written in Python 3
Convenient to install via pip.
What for? Why? For whom? Use cases?
Use cases for this program could be
a bot or part of a bot,
to send alerts,
combine it with cron to publish periodic data,
send yourself daily/weekly reminders via a cron job
send yourself a daily song from your music collection
a trivial way to fire off some instant messages from the command line
a trivial way to read messages in the terminal
to automate sending via programs and scripts
a "blogger" who frequently sends messages and images to the same
room(s) could use it
a person could write a diary or run a gratitude journal by
sending messages to her/his own room
as educational material that showcases the use of the matrix-nio SDK
Give it a Star
If you like it, use it, fork it, make a Pull Request or contribute.
Please give it a :star: on Github right now so others find it more easily.
:heart:
Features
CLI, Command Line Interface
Python 3
Simplicity
Small footprint, small application (only around 250K)
Uses nio-template
End-to-end encryption
Storage for End-to-end encryption
Storage of credentials
Supports access token instead of password
Supports SSO (Single Sign-On)
Sending messages
Sending notices
Sending formatted messages
Sending MarkDown messages
Message splitting before sending
Sending Code-formatted messages
Sending to one room
Sending to multiple rooms
Sending image files (photos, etc.)
Sending of media files (music, videos, etc.)
Sending of arbitrary files (PDF, xls, doc, txt, etc.)
Sending events such as emoji reactions, or replies as threads
Using events to edit sent messages
Supports DM (direct messaging), sending DMs, listening for DMs
Listing of joined rooms
Listing of members of given room(s)
Receiving messages forever
Receiving messages once
Receiving last messages
Receiving or skipping its own messages
Receiving and downloading media files
including automatic decryption
Creating new rooms
Joining rooms
Leaving rooms
Forgetting rooms
Inviting other users to rooms
Banning from rooms
Unbanning from rooms
Kicking from rooms
Supports renaming of device
Supports getting and setting display name
Supports getting and setting presence
Uploading and downloading to/from resource depository
Supports skipping SSL verification to use HTTP instead of HTTPS
Supports providing local SSL certificate files
Supports notification via OS of received messages
Supports periodic execution via crontab
Supports room aliases
Provides PID files
Logging (at various levels)
In-source documentation
Can be run as a service
Smart tab completion for shells like bash (thanks to PR from @mizlan :clap:)
More than 200 stars :stars: on Github
Easy installation, available through pip, i.e. available in
PyPi store
Easy installation, available as docker image on
Docker Hub
(thanks to PR from @pataquets :clap:)
Callable from the terminal, from shells like bash, etc.
Callable from Python programs via the entry point (function) main.
Open source
Free, GPL3+ license