1个不稳定版本
0.2.0 | 2021年4月23日 |
---|
#13 in #room
48KB
1K SLoC
waasabi-matrix - 您友好的Rust蟹,引导您通过会议
waasabi-matrix
是一个Matrix聊天机器人,可以处理日志、管理和一些管理员操作。
配置
在开始使用之前,需要配置该机器人。配置文件为TOML格式。启动机器人时,应将机器人配置文件的路径指定为命令行参数。
示例配置可在bot-config.example.toml
中找到
配置包含以下字段
Matrix服务器
机器人将连接到配置中指定的Matrix服务器,并使用它访问Matrix网络。
目前,机器人处理不了由Matrix服务器进行速率限制的情况,因此建议禁用机器人用户的速率限制(因此,我们建议使用允许这样做 的Matrix服务器)。目前这只能手动完成。
[matrix] |
|
---|---|
homeserver |
要连接的Matrix服务器的URL |
user |
机器人用户的完整matrix用户名 |
password |
机器人用户的密码 |
admins |
可以控制机器人的机器人命令的matrix用户名的列表(数组) |
后端
机器人收集所有房间信息和传入消息,并将它们转发到后端集成。目前支持的唯一集成是Waasabi的聊天集成,通过Strapi实现。
[backend] |
|
---|---|
host |
公开API根的URL(对于Waasabi服务器,默认位于<origin>/waasabi ) |
user |
具有API访问权限的用户名(事件管理集成角色) |
password |
认证用户的密码 |
integrations_endpoint |
可选 用于发布Matrix信息的端点。默认:event-manager/integrations |
机器人API
此机器人公开了一个http API,可以通过API请求将命令发送到机器人。
[API] |
|
---|---|
监听 |
监听的地址或ip/端口号组合(例如,公开API) |
密钥 |
所有API请求中必须存在的密钥 |
API
邀请用户加入房间
POST /invite
{
api_key: <secret string>,
user_id: <@user:homeserver>,
room_id: <#channel:homeserver>,
}
在服务器上创建新房间
POST /room
{
api_key: <secret string>,
alias: <room name>,
name: <room display name>,
topic: <optional topic for the room>,
}
命令
这些是机器人理解的命令。
命令 | 描述 |
---|---|
!ping |
管理员专用。与机器人进行ping-pong。 |
!邀请<用户ID> |
管理员专用。邀请用户加入当前房间。 |
!创建<房间别名> <房间名称> |
管理员专用。创建新房间。 |
!op |
管理员专用。给予所有管理员用户房间管理员权限。 |
!op<用户ID> |
管理员专用。将新用户添加到管理员列表。 |
?ops |
管理员专用。列出所有当前管理员用户。 |
构建
构建代码,然后使用target/release/waasabi-matrix
目录下的二进制文件
cargo build --release
或者立即构建并安装
cargo install --path .
构建此应用程序需要libopenssl
。在Ubuntu上,使用
apt-get install libssl-dev
否则,在构建过程中可能会收到错误消息
Package openssl was not found in the pkg-config search path.
贡献
想要加入我们吗?请查看指南中的“贡献”部分:The "Contributing" section of the guide。
行为准则
waasabi-matrix项目遵守Contributor Covenant行为准则。这描述了所有贡献者应遵守的最小行为。
许可
根据您选择以下任一许可
- Apache License,版本2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可 (LICENSE-MIT 或 https://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确表示,否则您有意提交的任何贡献,根据Apache-2.0许可定义,应双重许可如上所述,不附加任何额外条款或条件。
依赖关系
~18–32MB
~533K SLoC