3 个版本
0.1.2 | 2020年4月22日 |
---|---|
0.1.1 | 2020年4月22日 |
0.1.0 | 2020年4月22日 |
#867 in 游戏
33KB
804 行
axfive-matrix-dicebot
这是一个用 Rust 编写的简单的 matrix 投掷机器人。它可能存在一些稳定性问题。我在野外还没有见过它死机,但它主要是被拼凑起来的代码,测试和审查都比较轻,我相信还有一些事情还没有完成,比如正确处理速率限制,以及处理任何类型的突发错误(比如突然被取消认证,需要重新认证)。
这主要是作为一种有趣的
- 在 Rust 中编写异步程序进行实际操作的实验
- 在 Matrix 中编写机器人的实验
- 使用 nom 编写简单解析器的实验
这些都是我的新领域。
用法
要使用它,您可以将机器人 (@axfive-dicebot:matrix.org) 邀请到您想要的任何房间,然后它会自动加入。然后您可以简单地给出一个投掷表达式,如下所示
!roll 4d6
!r 4d7 + 3
!r 3d12 - 5d2 + 3 - 7d3 + 20d20
然后机器人应该会很快回复结果。
您也可以通过创建机器人账户、构建投掷机器人程序(无论是从这个仓库还是通过运行 cargo install axfive-matrix-dicebot
)和创建如下所示的配置文件来运行它
[matrix]
home_server = 'matrix.org'
[matrix.login]
password = 'thisismypassword'
type = 'm.login.password'
user = 'axfive-dicebot'
当然,替换所有必要的字段。然后您可以通过指向该文件的 "dicebot" 二进制文件来运行它,它将登录并继续执行其任务。
您还可以使用 dicebot-cmd
命令在命令行上运行它,该命令期望您提供上述命令表达式之一,并将返回纯文本响应。
未来计划
实际上没有。这不是一个非常严肃的项目,我也没有计划进行大量的维护或类似的工作。这主要是为了好玩。如果我有动力改进它,我可能在某个时候做一些类似的事情
- 真正处理速率限制和其他错误。
- 向投掷表达式添加更多语法,也许使其具有更多像 Avrae 提供的功能。
- 可能添加更多命令。
如果有人真的想使用它,我将很高兴接受任何类型的拉取请求,无论是为了额外的功能还是增强鲁棒性。代码设计得希望能够相对容易地扩展(例如添加新命令)。
依赖项
约9-13MB
约270K SLoC