#消息传递 #矩阵 #知名

已弃用 matrix_uri

一个用于根据 matrix.to 和 MSC2312 解析 Matrix URI 的 crate

2 个版本

0.1.1 2022 年 3 月 28 日
0.1.0 2021 年 3 月 17 日

#192 in #消息传递

AGPL-3.0-only

26KB
563

matrix_uri

覆盖率 管道
coverage report pipeline status

弃用通知

Ruma 从版本 0.5.0 开始支持解析两种类型的 Matrix URI,因此此 crate 现已弃用。

原始描述

一个 crate,用于根据matrix.to 规范MSC2312 (matrix://)构建和解析 Matrix URI。

可选地,使用 ruma 功能将类型转换为 ruma_identifiers

用法

构建

let uri = crate::MatrixUri::new(
            crate::MatrixId::new(crate::IdType::UserId, String::from("cute:some.url")),
            None,
            None,
            Some(vec![String::from("headpat.services"), String::from("cute.local")]),
            Some(crate::MatrixUriAction::Chat),
        )
        .unwrap();

println!("{} with {}", uri.action().unwrap().to_string(), uri.mxid.to_string()); // `chat with @cute:some.url`
println!("{}", uri.matrix_uri_string()); // `matrix:u/cute%3Asome.url?action=chat&via=headpat.services&via=cute.local`
println!("{}", uri.matrix_to_string()); // `https://matrix.to/#/%40cute%3Asome.url?action=chat&via=headpat.services&via=cute.local`

解析

let uri = matrix_uri::MatrixUri::from_str("matrix:u/her:example.org?action=chat").unwrap();

println!("{} - {:?}", uri.mxid.to_string(), uri.action().unwrap()); // `@her:example.org - Chat`

文档

可以通过运行 cargo doc --open 从源代码中查看

pre-commit 使用

  1. 如果没有安装,请使用您的包管理器安装,或 pip install --user pre-commit
  2. 运行 pre-commit autoupdate 以更新 pre-commit 配置以使用最新模板
  3. 运行 pre-commit install 以将 pre-commit 挂钩安装到您的本地环境

依赖项

~3–5MB
~109K SLoC