21个版本
0.6.3 | 2024年6月4日 |
---|---|
0.6.2 | 2023年9月22日 |
0.6.1 | 2023年6月27日 |
0.5.5 | 2023年3月17日 |
0.2.0 | 2019年6月24日 |
#96 in Web编程
1,129 每月下载次数
175KB
4.5K SLoC
ModBot for Discord
ModBot是使用modio-rs
和twilight
的mod.io的Discord机器人。
设置 • 命令 • 截图 • 构建 • 安装 • 使用 • 许可
设置
您可以使用以下URL邀请官方托管ModBot加入您的Discord服务器:https://discordbot.mod.io,或者按照下面的说明构建和安装自己的ModBot版本。
- 邀请ModBot https://discordbot.mod.io/。
- 查看游戏列表
/games
并设置默认游戏/settings default-game ID
。 - 在您想要机器人发布更新(mod添加/编辑)的频道中,运行命令
/subs add <GameID>
。 - 确保机器人在其所在的频道中具有
Send Messages
和Embed Links
权限,以便能够正常工作。
命令
一旦您邀请了ModBot到您的服务器,您可以使用命令 /settings default-game ID
设置默认游戏。现在,当用户发出命令 /mods
时,将返回您指定的游戏的全部mod。您可以在任何时候更改默认游戏。
我们建议您还使用命令 /subs add <GameID>
订阅您感兴趣的接收推送通知的游戏。例如,在我们的#bot频道中,我们订阅了很多游戏,每次mod更新时,频道都会收到通知。
流行的命令包括
-
/game
返回默认游戏的信息 -
/games [search]
返回所有游戏的列表 -
/mods [ID|Name]
返回属于默认游戏的所有模组列表 -
/popular
返回按受欢迎程度排序的模组列表 -
/settings default-game <ID|Name>
设置默认游戏 -
/subs add <ID|Name> [Tag..] [Type]
订阅游戏以接收更新(添加/编辑的模组)/sub add 51 /sub add OpenXcom /sub add OpenXcom tags:"UFO Defense",Major /sub add "Skate XL" tags:"Real World Spot" /sub add Skate* tags:Gear,Deck
-
/subs list
查看已订阅的所有游戏 -
/subs rm <ID|Name> [Tag..] [Type]
从游戏中取消订阅/subs rm 51 /subs rm OpenXcom /subs rm OpenXcom tags:"UFO Defense",Major /subs rm "Skate XL" tags:"Real World Spot" /subs rm skate tags:Gear,Deck
-
/subs mods mute <Game> <Mod>
静音更新通知中的模组 -
/subs mods muted
返回所有静音模组的列表 -
/subs mods unmute <Game> <Mod>
从更新通知中取消静音模组
截图
模组详情
新模组通知
构建
ModBot是用Rust编写的,因此您需要获取一个Rust安装程序以编译它。构建很简单
$ git clone https://github.com/nickelc/modio-bot
$ cd modio-bot
$ cargo build --release
$ ./target/release/modbot
使用捆绑的sqlite3进行构建
使用功能 sqlite-bundled
从源编译sqlite3并将其链接到该库。
$ cargo build --features sqlite-bundled
安装
Cargo
从https://crates.io安装最新版本。
$ cargo install modbot
$ $HOME/.cargo/bin/modbot
从 master
分支安装modbot。
$ cargo install --git https://github.com/nickelc/modio-bot
$ $HOME/.cargo/bin/modbot
使用方法
在工作目录中创建一个 bot.toml
配置文件。
[bot]
token="your discord bot token"
database_url="/path/to/sqlite.db"
[modio]
api_key="your mod.io api key"
示例文件作为 bot.example.toml
提供。
运行机器人
./path/to/modbot
./path/to/modbot --config path/to/bot.toml
日志记录
日志记录可以通过环境变量进行配置。
RUST_LOG=modio=debug,modbot=debug
有关更多信息,请参阅 tracing_subscriber::EnvFilter
。
指标
默认情况下,指标通过 Prometheus 端点列出,端点为 http://127.0.0.1:8080/metrics
。
[metrics]
addr = "127.0.0.1:3000"
许可证
许可证为以下之一
- Apache License,版本 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
贡献
除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交给作品的所有贡献都应采用上述双重许可,不附加任何额外条款或条件。
依赖关系
~58MB
~1M SLoC