17个稳定版本
2.9.0 | 2024年1月19日 |
---|---|
2.8.0 | 2023年11月13日 |
2.7.0 | 2023年9月24日 |
2.3.0 | 2023年3月20日 |
1.2.3 | 2022年10月18日 |
#1851 in Web编程
每月82次下载
70KB
2K SLoC
Secubot
我不会编程,直到我写了自己的Discord机器人,对吧?如果不是Rust,那么最好的编程语言是什么呢?
这个机器人最初是为了满足《网络安全战士》组织对ping炮替代品的需求而编写的,随着时间的推移,我只是不断添加新功能。
功能
- 强大的ping炮 - 为用户提供10分钟的ping,之后超时,允许在ping过程中添加和删除用户
- TODO列表 - 提供基于数据库的每个频道的TODO列表,允许指定负责人,它还会发布关于未完成的todos的定期提醒
- 荣誉榜 - 提供基于数据库的每个公会列表,设计用于允许用户以提供的理由统计某物出现的次数
- 机器人版本管理 - 允许检查最新版本说明并查看当前运行的版本
运行
本地编译
TODO
Docker
使用以下命令在本地构建镜像:docker build .
或拉取 ghcr.io/seqre/secubot
镜像。
使用以下命令快速运行机器人以进行测试
docker run -e SCBT__DISCORD_TOKEN="token" secubot:latest
要拥有本地的持久SQLite数据库,运行
touch db.sqlite // we need to create file first as docker cannot mount non-existing file
docker run \
-v ${PWD}/db.sqlite:/db.sqlite \ // mount `db.sqlite` to have persistent database
-e SCBT__DISCORD_TOKEN="token" \ // provide Discord token
--name secubot \
secubot:latest
要使用正确的配置文件,请添加以下挂载
touch db.sqlite
docker run \
-v ${PWD}/config.yaml:/config.yaml:ro \ // mount `config.yaml` file as singular configuration file
-v ${PWD}/config:/config:ro \ // mount whole `config/` directory if you need to have multiple configuration files
-v ${PWD}/db.sqlite:/db.sqlite \ // mount `db.sqlite` to have persistent database
--name secubot \
secubot:latest
您可以使用config-rs支持的所有格式,以下以YAML为例。
配置
TODO
依赖项
~68MB
~1.5M SLoC