1个不稳定版本
0.1.0 | 2021年12月15日 |
---|
#13 in #serenity
37KB
440 行
这是什么?
Murgi机器人是一个监听公会/服务器中的消息的Discord机器人服务,当使用其指定的前缀调用或收到需要它做出响应的警报时,它会立即做出响应。
它原本是为了娱乐我的朋友群体而创建的简单机器人,也是对使用Rust语言和Discord API进行的一次有趣的小实验。
Murgi机器人附带了许多酷炫的功能,以下是一些功能的列表:
- 根据请求发出嚎叫,以及当四个Murgi同时嚎叫时。
- 查询海盗湾的游戏磁力链接。
- 可以掷DnD骰子,以及指定范围内的随机数。
- 播放YouTube上的歌曲。
- 播放GogoAnime上的动漫。
- 从YouTube流式传输视频。
安装
为了设置Murgi机器人,您需要安装Rust并设置Rust开发环境,这在《Rust Book》中有详细的介绍。
该机器人还使用Serenity库与后端运行的Discord API进行交互,但是所有开发设置都将通过简单的cargo build
或cargo run
来完成,所以不用担心太多。
还有一个正在开发的Dockerfile和docker-compose.yml
,以便将Murgi机器人作为容器化应用程序开发。
最后,还需要设置几个环境变量才能与Murgi机器人一起工作,这些变量在.env.example
文件中定义。
目前有两种容器化方法可以用来设置Murgi机器人容器。
参数
应用程序通过各种连接运行,这些连接通过一系列令牌等形成,如下所示:
参数 | 功能 |
---|---|
DISCORD_TOKEN |
控制机器人的Discord令牌。 |
JACKETT_RSS_FEED |
查询TPB的RSS源链接。 |
docker-compose
version: '3'
services:
murgi_bot:
container_name: murgi
image: datadi/murgi_bot:latest
environment:
DISCORD_TOKEN: {DISCORD_TOKEN}
JACKETT_RSS_FEED: http://{ip_addr:port}/api/v2.0/indexers/thepiratebay/results/torznab/api?apikey={API_KEY}&t=search&cat=&q=
RUST_LOG: DEBUG
restart: unless-stopped
Docker CLI
docker run -d \
--name=murgi \
-e DISCORD_TOKEN={DISCORD_TOKEN} \
-e JACKETT_RSS_FEED=http://{ip_addr:port}/api/v2.0/indexers/thepiratebay/results/torznab/api?apikey={API_KEY}&t=search&cat=&q= \
--restart: unless-stopped \
datadi/murgi_bot:latest
从源码构建
如果需要从源码构建应用程序以实现或扩展某些功能,那么在本地构建机器人也是一个可行的解决方案。
要这样做,可以在终端中执行以下命令。
git clone https://github.com/dat-adi/MurgiBot.git
cd MurgiBot
cargo build --release
./target/release/murgi_bot
贡献
穆尔吉家族喜欢新功能!
如果你对使用 Rust 编程语言感兴趣,解决一些问题,或者真的很喜欢鸡,你可以自由地参与到项目的开发中来!
贡献步骤:
- 提出一个详细说明问题/功能请求的问题。
- 将项目分支到你的账户。
- 创建一个链接到解决的问题的 Pull Request,并将 PR 提交以供评估。
- 如果一切看起来都很好,穆尔吉家族批准,你已为穆尔吉机器人做出了贡献!
要查看详细信息,请查看我们的 CONTRIBUTING.md!
许可证
穆尔吉机器人是一个项目,旨在为朋友团创造一个 Discord 守护者。
这段代码可以被分支并开发,以开发你自己的 Discord 服务器守护者!\
dat-adi
依赖项
~20–38MB
~688K SLoC