node-mirai-fgo-gacha
Version:
node-mirai-sdk fgo gacha plugin
75 lines (56 loc) • 3.03 kB
Markdown
# Node Mirai Fgo Gacha
[node-mirai-sdk](https://github.com/RedBeanN/node-mirai) 的 FGO 模拟扭蛋插件
卡池内容、概率、资源素材等均来自 [Mooncell](https://fgo.wiki/),如有余力请多多支持 Mooncell
## Usage
`NodeMiraiSDK` 的配置请参考 [node-mirai-sdk](https://github.com/RedBeanN/node-mirai)
`npm i -S node-mirai-fgo-gacha`
index.js
``` javascript
// 初次调用时会自动初始化卡池,并下载相关资源,这可能需要一些时间
const FGOGacha = require('node-mirai-fgo-gacha');
const bot = new Mirai({/* ... */});
// 配置参数均为可选,以下列出的是默认参数值
bot.use(FGOGacha({
cooldown: 60000, // 扭蛋的冷却时间,单位 ms
allowGroup: true, // 群聊扭蛋开关
allowPrivate: false, // 私聊扭蛋开关
recall: true, // 在指定时间后撤回扭蛋图片以防刷屏
recallDelay: 30000, // 指定撤回延迟,时间 5000 - 60000
prefix: ``, // 指令前缀,可用于避免误触发
groupWhitelistMode: false, // 群聊白名单模式开关
groupBlacklist: [], // 群聊黑名单
groupWhitelist: [], // 群聊白名单
qqWhitelistMode: false, // qq 白名单开关
qqBlacklist: [], // qq 黑名单
qqWhitelist: [], // qq 白名单
superAdmin: [], // 超级管理员 qq 名单
hints: { // 一些可配置的提示
gacha: `本次召唤结果`,
listPools: `现在数据库里有这些卡池哦~`,
invalidPoolId: `卡池编号不正确哦~`,
setPoolSuccess: `设置卡池成功`,
poolNotSet: `尚未设置卡池,无法进行召唤`,
inCooldown: `召唤冷却中,每60秒可进行一次召唤`,
permissionError: `权限不足`,
},
}));
// 可选
// 更新卡池信息和资源
FGOGacha.update();
// 强制初始化
FGOGacha.init();
```
### 指令列表
在设置了`prefix`字段的情况下添加前缀才会触发指令
| 指令 | 功能 |
| -------- | ---- |
| 查询卡池 | 列出当前保存的卡池信息 |
| 设置卡池 x | 选择指定编号的卡池 |
| 十连召唤 | 召唤10次 |
| 十一连召唤 | 召唤11次 |
| 百连召唤 | 召唤100次(只展示4星及以上结果) |
| 更新 | (权:`superAdmin`字段中的管理员) 更新卡池和资源 |
## 关于卡池
- `node-mirai-fgo-gacha` 采用的是 [这个页面](https://fgo.wiki/w/%E6%8A%BD%E5%8D%A1%E6%A8%A1%E6%8B%9F%E5%99%A8) 所展示的卡池(不含福袋)
- `node-mirai-fgo-gacha` 会在初次使用时自动初始化卡池, 下载资源文件(总计`10MB+`), 这些文件保存在工作目录下的`.fgo-gacha/`文件夹内,此后必须通过超级管理员发送`更新`指令或 `FGOGacha.update()` 方法手动更新, 如果已有的资源出现错误, 可以通过 `FGOGacha.init()` 方法重新初始化
- 随机和保底机制纯属猜测, 与官方<del>不一定一致</del>一定不一致, 因此结果没有参考价值, 仅供娱乐, 请勿当真