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