Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/cssxsh/arknights-helper

Mirai Console 插件开发计划
https://github.com/cssxsh/arknights-helper

arknights mirai mirai-console qqbot

Last synced: about 1 month ago
JSON representation

Mirai Console 插件开发计划

Awesome Lists containing this project

README

        

# [Arknights Helper](https://github.com/cssxsh/arknights-helper)

> 基于 [Mirai Console](https://github.com/mamoe/mirai-console) 的 [明日方舟](https://ak.hypergryph.com/) 助手插件

[![Release](https://img.shields.io/github/v/release/cssxsh/arknights-helper)](https://github.com/cssxsh/arknights-helper/releases)
[![Downloads](https://img.shields.io/github/downloads/cssxsh/arknights-helper/total)](https://repo1.maven.org/maven2/xyz/cssxsh/arknights-helper/)
[![MiraiForum](https://img.shields.io/badge/post-on%20MiraiForum-yellow)](https://mirai.mamoe.net/topic/203)
[![DataHolder Test](https://github.com/cssxsh/arknights-helper/actions/workflows/test.yml/badge.svg)](https://github.com/cssxsh/arknights-helper/actions/workflows/test.yml)

**使用前应该查阅的相关文档或项目**
**Arknights Helper 在2.0版本进行了重构 需要重新配置订阅 详见 方舟蹲饼**

* [User Manual](https://github.com/mamoe/mirai/blob/dev/docs/UserManual.md)
* [Permission Command](https://github.com/mamoe/mirai/blob/dev/mirai-console/docs/BuiltInCommands.md#permissioncommand)
* [Chat Command](https://github.com/project-mirai/chat-command)

## 指令

注意: 使用前请确保可以 [在聊天环境执行指令](https://github.com/project-mirai/chat-command)
带括号的`/`前缀是可选的
`<...>`中的是指令名,由空格隔开表示或,选择其中任一名称都可执行例如`/抽卡 十连`
`[...]`表示参数,当`[...]`后面带`?`时表示参数可选
`{...}`表示连续的多个参数

本插件指令权限ID 格式为 `xyz.cssxsh.mirai.plugin.arknights-helper:command.*`, `*` 是指令的第一指令名
例如 `/方舟公招 远程位 支援` 的权限ID为 `xyz.cssxsh.mirai.plugin.arknights-helper:command.ark-recruit`

### 助手抽卡指令

| 指令 | 描述 |
|:----------------------------------------------------|:--------------------------------------------|
| `/ [times]?` | 单抽`times`次,默认为1 |
| `/ [times]?` | 十连`times`次,默认为1 |
| `/ ` | 查看卡池规则 |
| `/ [name]` | 设置卡池为`name`, 默认为`NORMAL` |
| `/ [name] [set]? {rules}` | 设置卡池`name`的规则为`rules`,当`set`为`true`时设置为当前卡池 |

抽卡每一抽会消耗`600`合成玉,合成玉可以通过[答题](#助手答题指令)获得

#### ArknightsGachaCommand 卡池规则`rules`参数格式

`rules`参数从第二行起,按行分割
每行格式为规则`干员名|星级|other|...:概率`或者注释`#...`
星级用连续的`*`表示,例如`*****`表示五星干员,需要单行设置,设置的概率不包括已设置干员名
other表示剩余的其他干员
概率用小数表示,全部行的概率加起来的概率要为`100%`,即`1.00`
例子

```
/抽卡 卡池 限时寻访深悼
浊心斯卡蒂|凯尔希:0.014
赤冬:0.04
******:0.006
*****:0.04
****:0.48
other:0.42
```

### 助手答题指令

| 指令 | 描述 |
|:------------------------------------------|:------------------|
| `/ [type]?` | 机器人会提出一个问题 |
| `/` | 机器人会提出一个听力问题 |
| `/ [name]` | 查看自定义问题的详情 |
| `/ ` | 列出已经设置的自定义问题 |
| `/ ` | 删除指定问题 |
| `/ ` | 与机器人互动,输入条件,设置新问题 |
| `/ ` | 答题情况统计 |

1. 回复选项序号`A~Z`,即算回答问题
2. `type`是提问问题类型,默认为全部类型
可选值 `BUILDING`, `PLAYER`, `TALENT`, `POSITION`, `PROFESSION`, `RARITY`, `POWER`, `ILLUST`,
`VOICE`, `SKILL`, `STORY`, `ENEMY`, `WEEKLY`, `MUSIC`, `OTHER`
3. 回答了当前问题才会出现下一个问题
4. 快速回答(规定时间的1/3内)会有相应奖励
5. 群聊模式的其他群员亦可回答题目,但题目只能被回答一次,且其他人作为抢答者有相应奖励和惩罚
6. 题目结构如下

```
[类型](得分) 问题
A. 选项
B. 选项
...
```

### 助手公招指令

| 指令 | 描述 |
|:------------------------------|:------------------|
| `/ {words}` | 查看关键词`words`的公招干员 |

* `words`的数量为1~5
例如 `/方舟公招 远程位 支援`

### 助手材料指令

| 指令 | 描述 |
|:-------------------------------------------|:---------------|
| `/ [name] [limit]? [now]?` | 查看材料的关卡掉落率 |
| `/ [name] [limit]? [now]?` | 查看关卡的材料掉落率 |
| `/ [name] [limit]? [now]?` | 查看地图所有关卡的材料掉落率 |

* `limit` 是显示前多少项查询结果
* `now` 是是否只显示当前开启关卡,默认为 `true`

### 助手蹲饼指令

| 指令 | 描述 |
|:--------------------------------------------------------|:---------|
| `/ ` | 查看蹲饼详情 |
| `/ [contact] {blogs}` | 设置微博蹲饼内容 |
| `/ [contact] {videos}` | 设置视频蹲饼内容 |
| `/ [contact] {announces}` | 设置公告蹲饼内容 |
| `/ [contact] {weeklies}` | 设置周常蹲饼内容 |
| `/ [contact] {themes}` | 设置活动蹲饼内容 |

* `contact` 为群号或Q号
* `blogs` 可选值为 `ARKNIGHTS`(官号), `BYPRODUCT`(朝陇山), `MOUNTEN`(一拾山), `HISTORICUS`(泰拉记事社)
例如 `/方舟蹲饼 微博 123456 ARKNIGHTS MOUNTEN`, 就订阅了官方号和一拾山
* `videos` 可选值为 `ANIME`, `MUSIC`, `GAME`, `ENTERTAINMENT`
例如 `/方舟蹲饼 视频 123456 GAME MUSIC`, 就订阅了PV和音乐单曲
* `announces` 可选值为 `ANDROID`, `IOS`, `BILIBILI`
例如 `/方舟蹲饼 公告 123456 ANDROID`, 就订阅了官服的公告
* `weeklies` 可选值为 `EVOLVE`, `MATERIAL`, `SPECIAL`
例如 `/方舟蹲饼 周常 123456 EVOLVE MATERIAL`, 就订阅了物资筹备和芯片搜索
* `themes` 可选值为 `ROGUELIKE`, `CRISIS`, `MAINLINE`, `ACTIVITY`
例如 `/方舟蹲饼 周常 123456 ROGUELIKE`, 就订阅了肉鸽

### 助手数据指令

| 指令 | 描述 |
|:------------------------------|:-------|
| `/ ` | 清理缓存 |
| `/ ` | 重载定时设置 |

位于 `Mirai-Console` 运行目录下的 `config/xyz.cssxsh.mirai.plugin.arknights-helper` 文件夹下的 `cron.json` 文件

### 助手表情指令

**需要 [Meme Helper](https://github.com/cssxsh/meme-helper) 作为前置**

| 指令 | 描述 |
|:-------------------------------|:---------|
| `/ ` | 随机发送一个表情 |
| `/ ` | 查看表情详情 |

## 配置文件

位于 `Mirai-Console` 运行目录下的 `config/xyz.cssxsh.mirai.plugin.arknights-helper` 文件夹下的 `config` 文件

## 安装

### MCL 指令安装

`./mcl --update-package xyz.cssxsh:arknights-helper --channel maven-stable --type plugin`

### 手动安装

1. 从 [Releases](https://github.com/cssxsh/arknights-helper/releases) 或者 [Maven](https://repo1.maven.org/maven2/xyz/cssxsh/arknights-helper/) 下载 `mirai2.jar`
2. 将其放入 `plugins` 文件夹中

## TODO

- [ ] 配置问题类型出现的概率
- [x] 记录答题正确率 21/06/10
- [ ] 关卡规划
- [x] 周常提醒
- [x] 游戏公告

## 数据来源

* 游戏数据 [Kengxxiao/ArknightsGameData](https://github.com/Kengxxiao/ArknightsGameData)
* 掉落数据 [企鹅物流数据统计](https://penguin-stats.io/)
* 语音数据 [PRTS WIKI](https://prts.wiki/w/%E5%88%86%E7%B1%BB:%E5%B9%B2%E5%91%98%E8%AF%AD%E9%9F%B3)

## [爱发电](https://afdian.net/@cssxsh)

![afdian](.github/afdian.jpg)