#client-server #server-api #messaging #ruma #sdk #api-client #linker

mxlink

A library for connecting (linking) to the Matrix Client Server API (for building bots, etc.)

7 stable releases

1.4.1 Dec 12, 2024
1.4.0 Nov 19, 2024
1.3.0 Sep 22, 2024

#1890 in Network programming

Download history 476/week @ 2024-09-11 191/week @ 2024-09-18 44/week @ 2024-09-25 29/week @ 2024-10-02 10/week @ 2024-10-09 6/week @ 2024-10-16 4/week @ 2024-10-23 4/week @ 2024-10-30 10/week @ 2024-11-06 85/week @ 2024-11-13 95/week @ 2024-11-20 14/week @ 2024-11-27 14/week @ 2024-12-04 189/week @ 2024-12-11 12/week @ 2024-12-18

216 downloads per month
Used in baibot

LGPL-3.0

100KB
2K SLoC

Matrix Link (mxlink) is a Rust library (a higher-level abstraction on top of matrix-rust-sdk) for building Matrix services (bots, etc.)

It's similar to headjack, but tries to be less opinionated and more featureful.

It finds use in the 🤖 baibot Matrix bot.

✨ Features

  • 🎈 Easy to use API for getting started with matrix-rust-sdk. See the examples directory or baibot

  • 🔒 Encryption

    • (Optional) At-rest encryption of the session file

    • At-rest encryption of the SQLite data store (performed by matrix-rust-sdk itself)

  • 🔄 (Optional) Support for using matrix-rust-sdk's recovery module for backing up and restoring encryption keys (in case of session / SQLite store data loss)

  • 🖴 Helpers for working with Matrix Account Data on a per-room level or globally

  • 🗂 Some convenience functions around Matrix APIs

Dependencies

~33–51MB
~848K SLoC