#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.)

8 stable releases

1.5.0 Jan 24, 2025
1.4.1 Dec 12, 2024
1.4.0 Nov 19, 2024
1.3.0 Sep 22, 2024

#2061 in Network programming

Download history 3/week @ 2024-10-22 4/week @ 2024-10-29 7/week @ 2024-11-05 7/week @ 2024-11-12 174/week @ 2024-11-19 16/week @ 2024-11-26 11/week @ 2024-12-03 190/week @ 2024-12-10 15/week @ 2024-12-17 6/week @ 2025-01-07 2/week @ 2025-01-14 116/week @ 2025-01-21 16/week @ 2025-01-28 20/week @ 2025-02-04

155 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

~34–52MB
~876K SLoC