From 92c3ad725242cb1b9ad92d4e0d82e5ef61fc073b Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Mon, 15 Aug 2022 06:21:38 +0800 Subject: [PATCH 01/10] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=20issue-check?= =?UTF-8?q?er=20=E5=85=B3=E9=94=AE=E8=AF=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/issue-checker.yml | 99 +++++++++++++++++++++------------------ 1 file changed, 54 insertions(+), 45 deletions(-) diff --git a/.github/issue-checker.yml b/.github/issue-checker.yml index 2de511c086..90788bdb84 100644 --- a/.github/issue-checker.yml +++ b/.github/issue-checker.yml @@ -8,49 +8,55 @@ labels: # Add 的优先级比 Remove 高 - name: "module: copilot" regexes: - - '(?:[Aa]dd (?:`|)(?:module: |)copilot(?:`|)|自动(作战|战斗|编队)|作业|自動(戰|戦)(鬥|闘)|作業|copilot)' - - "(?:[Aa]dd (?:`|)(?:module: |)copilot(?:`|)|^(?![\\s\\S]*(?:\ - [Rr]emove (?:[Aa]ll labels|(?:`|)(?:module: |)copilot(?:`|))))[\\s\\S]*$)" + - '(?:[Aa]dd (?:`|)(?:label |)(?:module: |)copilot(?:`|)|自动(?:作战|战斗|编队)|作业|自動[戰戦][鬥闘]|作業|copilot)' + - "(?:[Aa]dd (?:`|)(?:label |)(?:module: |)copilot(?:`|)|^(?![\\s\\S]*(?:\ + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)(?:module: |)copilot(?:`|))))[\\s\\S]*$)" - name: "module: roguelike" regexes: - - '(?:[Aa]dd (?:`|)(?:module: |)roguelike(?:`|)|肉(鸽|鴿)|集成战略|rogue|ローグ)' - - "(?:[Aa]dd (?:`|)(?:module: |)roguelike(?:`|)|^(?![\\s\\S]*(?:\ - [Rr]emove (?:[Aa]ll labels|(?:`|)(?:module: |)roguelike(?:`|))))[\\s\\S]*$)" + - '(?:[Aa]dd (?:`|)(?:label |)(?:module: |)roguelike(?:`|)|肉[鸽鴿]|集成战略|rogue|ローグ)' + - "(?:[Aa]dd (?:`|)(?:label |)(?:module: |)roguelike(?:`|)|^(?![\\s\\S]*(?:\ + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)(?:module: |)roguelike(?:`|))))[\\s\\S]*$)" - name: "module: fight" regexes: - - '(?:[Aa]dd (?:`|)(?:module: |)fight(?:`|)|刷图|剿灭|刷.{0,6}材料|关卡选择|战斗|作战|(戰|戦)(鬥|闘)|fight|battle)' - - "(?:[Aa]dd (?:`|)(?:module: |)fight(?:`|)|^(?![\\s\\S]*(?:\ - [Rr]emove (?:[Aa]ll labels|(?:`|)(?:module: |)fight(?:`|))))[\\s\\S]*$)" + - '(?:[Aa]dd (?:`|)(?:label |)(?:module: |)fight(?:`|)|刷图|剿灭|刷.{0,6}材料|关卡选择|战斗|作战|[戰戦][鬥闘]|fight|battle)' + - "(?:[Aa]dd (?:`|)(?:label |)(?:module: |)fight(?:`|)|^(?![\\s\\S]*(?:\ + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)(?:module: |)fight(?:`|))))[\\s\\S]*$)" disabled-if: - "module: copilot" - "module: roguelike" - name: "module: infrast" regexes: - - "(?:[Aa]dd (?:`|)(?:module: |)infrast(?:`|)|\ + - "(?:[Aa]dd (?:`|)(?:label |)(?:module: |)infrast(?:`|)|\ 基建|贸易站|制造站|发电站|加工站|会客室|训练室|办公室|控制中枢|宿舍|基地|infrast|dorm)" - - "(?:[Aa]dd (?:`|)(?:module: |)infrast(?:`|)|^(?![\\s\\S]*(?:\ - [Rr]emove (?:[Aa]ll labels|(?:`|)(?:module: |)infrast(?:`|))))[\\s\\S]*$)" + - "(?:[Aa]dd (?:`|)(?:label |)(?:module: |)infrast(?:`|)|^(?![\\s\\S]*(?:\ + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)(?:module: |)infrast(?:`|))))[\\s\\S]*$)" - name: "module: others" regexes: - - '(?:[Aa]dd (?:`|)(?:module: |)others(?:`|)|信用|拜访|登录|开始唤醒|visit|login|startup)' - - "(?:[Aa]dd (?:`|)(?:module: |)others(?:`|)|^(?![\\s\\S]*(?:\ - [Rr]emove (?:[Aa]ll labels|(?:`|)(?:module: |)others(?:`|))))[\\s\\S]*$)" + - '(?:[Aa]dd (?:`|)(?:label |)(?:module: |)others(?:`|)|信用|拜访|登录|开始唤醒|visit|login|startup)' + - "(?:[Aa]dd (?:`|)(?:label |)(?:module: |)others(?:`|)|^(?![\\s\\S]*(?:\ + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)(?:module: |)others(?:`|))))[\\s\\S]*$)" - name: "module: recruit" regexes: - - '(?:[Aa]dd (?:`|)(?:module: |)recruit(?:`|)|公招|招募|公開(募集|求人)|recruit)' - - "(?:[Aa]dd (?:`|)(?:module: |)recruit(?:`|)|^(?![\\s\\S]*(?:\ - [Rr]emove (?:[Aa]ll labels|(?:`|)(?:module: |)recruit(?:`|))))[\\s\\S]*$)" + - '(?:[Aa]dd (?:`|)(?:label |)(?:module: |)recruit(?:`|)|公招|招募|公開(?:募集|求人)|recruit)' + - "(?:[Aa]dd (?:`|)(?:label |)(?:module: |)recruit(?:`|)|^(?![\\s\\S]*(?:\ + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)(?:module: |)recruit(?:`|))))[\\s\\S]*$)" disabled-if: - "module: roguelike" +- name: "module: core" + regexes: + - '(?:[Aa]dd (?:`|)(?:label |)(?:module: |)core(?:`|))' + - "(?:[Aa]dd (?:`|)(?:label |)(?:module: |)core(?:`|)|^(?![\\s\\S]*(?:\ + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)(?:module: |)core(?:`|))))[\\s\\S]*$)" - name: "module: GUI" # 其它模块都匹配不上的时候再尝试匹配GUI # 因为可能有人说“公招界面”“肉鸽崩溃”“基建闪退”等等 regexes: - - '(?:[Aa]dd (?:`|)(?:module: |)GUI(?:`|)|图形化界面|闪退|gui|GUI|インターフェース)' - - "(?:[Aa]dd (?:`|)(?:module: |)GUI(?:`|)|^(?![\\s\\S]*(?:\ - [Rr]emove (?:[Aa]ll labels|(?:`|)(?:module: |)GUI(?:`|))))[\\s\\S]*$)" + - '(?:[Aa]dd (?:`|)(?:label |)(?:module: |)GUI(?:`|)|图形化界面|闪退|gui|GUI|インターフェース)' + - "(?:[Aa]dd (?:`|)(?:label |)(?:module: |)GUI(?:`|)|^(?![\\s\\S]*(?:\ + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)(?:module: |)GUI(?:`|))))[\\s\\S]*$)" disabled-if: - "module: copilot" + - "module: core" - "module: fight" - "module: infrast" - "module: recruit" @@ -58,17 +64,17 @@ labels: - "module: others" - name: "release" regexes: - - '(?:[Aa]dd (?:`|)release(?:`|)|Release v(?:\d)+\.(?:\d)+\.(?:\d)+)' - - "(?:[Aa]dd (?:`|)release(?:`|)|^(?![\\s\\S]*(?:\ - [Rr]emove (?:[Aa]ll labels|(?:`|)release(?:`|))))[\\s\\S]*$)" + - '(?:[Aa]dd (?:`|)(?:label |)release(?:`|)|Release v(?:\d)+\.(?:\d)+\.(?:\d)+)' + - "(?:[Aa]dd (?:`|)(?:label |)release(?:`|)|^(?![\\s\\S]*(?:\ + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)release(?:`|))))[\\s\\S]*$)" mode: pull_request_target: [add, remove] - name: "ambiguous" # 不符合上面任何一个的分类并且(如果是PR)不符合 commitizen regexes: - - "(?:[Aa]dd (?:`|)ambiguous(?:`|)|^(?![\\s\\S]*(?:\ + - "(?:[Aa]dd (?:`|)(?:label |)ambiguous(?:`|)|^(?![\\s\\S]*(?:\ feat|chore|perf|style|refactor|fix|doc|\ - [Rr]emove (?:[Aa]ll labels|(?:`|)ambiguous(?:`|))))[\\s\\S]*$)" + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)ambiguous(?:`|))))[\\s\\S]*$)" mode: pull_request_target: [add, remove] issues: [add, remove] @@ -81,36 +87,37 @@ labels: - "module: others" - "module: recruit" - "module: roguelike" + - "module: core" - "release" - name: "translation required" # 不要使用日文发 issue regexes: - - "(?:[Aa]dd (?:`|)translation required(?:`|)|([\\u3040-\\u30ff]|[㍿㍐]))" - - "(?:[Aa]dd (?:`|)translation required(?:`|)|^(?![\\s\\S]*(?:\ - [Rr]emove (?:[Aa]ll labels|(?:`|)translation required(?:`|))))[\\s\\S]*$)" + - "(?:[Aa]dd (?:`|)(?:label |)translation required(?:`|)|(?:[\\u3040-\\u30ff]|[㍿㍐]))" + - "(?:[Aa]dd (?:`|)(?:label |)translation required(?:`|)|^(?![\\s\\S]*(?:\ + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)translation required(?:`|))))[\\s\\S]*$)" mode: pull_request_target: [add, remove] issues: [add, remove] - name: "Client: JP" regexes: - - '(?:[Aa]dd (?:`|)(?:module: |)Client: JP(?:`|)|日(文|语|本|)服|YoStarJP)' - - "(?:[Aa]dd (?:`|)(?:module: |)Client: JP(?:`|)|^(?![\\s\\S]*(?:\ - [Rr]emove (?:[Aa]ll labels|(?:`|)(?:module: |)Client: JP(?:`|))))[\\s\\S]*$)" + - '(?:[Aa]dd (?:`|)(?:label |)(?:Client: |)JP(?:`|)|日(?:文|语|本|)服|[Yy]o[Ss]tarJP|(?:JP|jp)服)' + - "(?:[Aa]dd (?:`|)(?:label |)(?:Client: |)JP(?:`|)|^(?![\\s\\S]*(?:\ + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)(?:Client: |)JP(?:`|))))[\\s\\S]*$)" - name: "Client: EN" regexes: - - '(?:[Aa]dd (?:`|)(?:module: |)Client: EN(?:`|)|英(文|语|)服|国际服|美服|YoStarEN)' - - "(?:[Aa]dd (?:`|)(?:module: |)Client: EN(?:`|)|^(?![\\s\\S]*(?:\ - [Rr]emove (?:[Aa]ll labels|(?:`|)(?:module: |)Client: EN(?:`|))))[\\s\\S]*$)" + - '(?:[Aa]dd (?:`|)(?:label |)(?:Client: |)EN(?:`|)|英(?:文|语|)服|国际服|美服|[Yy]o[Ss]tarEN|(?:EN|en)服)' + - "(?:[Aa]dd (?:`|)(?:label |)(?:Client: |)EN(?:`|)|^(?![\\s\\S]*(?:\ + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)(?:Client: |)EN(?:`|))))[\\s\\S]*$)" - name: "Client: KR" regexes: - - '(?:[Aa]dd (?:`|)(?:module: |)Client: KR(?:`|)|韩(文|语|国|)服|YoStarKR)' - - "(?:[Aa]dd (?:`|)(?:module: |)Client: KR(?:`|)|^(?![\\s\\S]*(?:\ - [Rr]emove (?:[Aa]ll labels|(?:`|)(?:module: |)Client: KR(?:`|))))[\\s\\S]*$)" + - '(?:[Aa]dd (?:`|)(?:label |)(?:Client: |)KR(?:`|)|韩(?:文|语|国|)服|[Yy]o[Ss]tarKR|(?:KR|kr)服)' + - "(?:[Aa]dd (?:`|)(?:label |)(?:Client: |)KR(?:`|)|^(?![\\s\\S]*(?:\ + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)(?:Client: |)KR(?:`|))))[\\s\\S]*$)" - name: "Client: ZH_TW" regexes: - - '(?:[Aa]dd (?:`|)(?:module: |)Client: ZH_TW(?:`|)|繁中服|台(湾|灣|)服|繁体中文服|(龙|龍)成|天下网游|txwy)' - - "(?:[Aa]dd (?:`|)(?:module: |)Client: ZH_TW(?:`|)|^(?![\\s\\S]*(?:\ - [Rr]emove (?:[Aa]ll labels|(?:`|)(?:module: |)Client: ZH_TW(?:`|))))[\\s\\S]*$)" + - '(?:[Aa]dd (?:`|)(?:label |)(?:Client: |)ZH_TW(?:`|)|繁中服|台(?:湾|灣|)服|繁体中文服|(?:龙|龍)成|天下网游|txwy)' + - "(?:[Aa]dd (?:`|)(?:label |)(?:Client: |)ZH_TW(?:`|)|^(?![\\s\\S]*(?:\ + [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)(?:Client: |)ZH_TW(?:`|))))[\\s\\S]*$)" - name: "MAA Team" mode: pull_request_target: [add] @@ -122,12 +129,14 @@ labels: - "(?:(?:`v\\d+\\.\\d+\\.\\d+(?:-(?:alpha|beta)\\.\\d+|\\.\\d+|)`|\ v\\d+\\.\\d+\\.\\d+(?:-(?:alpha|beta)\\.\\d+|\\.\\d+|)\\s+)|\ \\[(?:`v\\d+\\.\\d+\\.\\d+(?:-(?:alpha|beta)\\.\\d+|\\.\\d+|)`|\ - v\\d+\\.\\d+\\.\\d+(?:-(?:alpha|beta)\\.\\d+|\\.\\d+|))\\]\\(\\S*\\))\ - \\s*fixed|(?:[Ff]ixed by\\s*\ - (?:`v\\d+\\.\\d+\\.\\d+(?:-(?:alpha|beta)\\.\\d+|\\.\\d+|)`|\\s+\ + v\\d+\\.\\d+\\.\\d+(?:-(?:alpha|beta)\\.\\d+|\\.\\d+|))\\]\\(\\S*\\)|\ + https?\\://[^/\\s]+/[^/\\s]+/[^/\\s]+/commit/[0-9a-z]{40,40})\ + \\s*fixed|[Ff]ixed (?:in|at|by)\\s*\ + (?:(?:`v\\d+\\.\\d+\\.\\d+(?:-(?:alpha|beta)\\.\\d+|\\.\\d+|)`|\\s+\ v\\d+\\.\\d+\\.\\d+(?:-(?:alpha|beta)\\.\\d+|\\.\\d+|))|\ \\[(?:`v\\d+\\.\\d+\\.\\d+(?:-(?:alpha|beta)\\.\\d+|\\.\\d+|)`|\ - v\\d+\\.\\d+\\.\\d+(?:-(?:alpha|beta)\\.\\d+|\\.\\d+|))\\]\\(\\S*\\))" + v\\d+\\.\\d+\\.\\d+(?:-(?:alpha|beta)\\.\\d+|\\.\\d+|))\\]\\(\\S*\\)|\ + https?\\://[^/\\s]+/[^/\\s]+/[^/\\s]+/commit/[0-9a-z]{40,40})" mode: issue_comment: [add] - name: "duplicate" From b5cf909bee57847dad7ff9e0e71bac77a0aa25d4 Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Mon, 15 Aug 2022 10:36:47 +0800 Subject: [PATCH 02/10] =?UTF-8?q?chore:=20=E5=A2=9E=E5=8A=A0=20issue-check?= =?UTF-8?q?er=20`module:=20fight`=20=E7=9A=84=E5=85=B3=E9=94=AE=E8=AF=8D?= =?UTF-8?q?=20`=E5=88=B7=E7=90=86=E6=99=BA`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/issue-checker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/issue-checker.yml b/.github/issue-checker.yml index 90788bdb84..cc7fc21f43 100644 --- a/.github/issue-checker.yml +++ b/.github/issue-checker.yml @@ -18,7 +18,7 @@ labels: [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)(?:module: |)roguelike(?:`|))))[\\s\\S]*$)" - name: "module: fight" regexes: - - '(?:[Aa]dd (?:`|)(?:label |)(?:module: |)fight(?:`|)|刷图|剿灭|刷.{0,6}材料|关卡选择|战斗|作战|[戰戦][鬥闘]|fight|battle)' + - '(?:[Aa]dd (?:`|)(?:label |)(?:module: |)fight(?:`|)|刷图|刷理智|剿灭|刷.{0,6}材料|关卡选择|战斗|作战|[戰戦][鬥闘]|fight|battle)' - "(?:[Aa]dd (?:`|)(?:label |)(?:module: |)fight(?:`|)|^(?![\\s\\S]*(?:\ [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)(?:module: |)fight(?:`|))))[\\s\\S]*$)" disabled-if: From e13921c6425431ec0168688d8fe43168c1dbafd8 Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Mon, 15 Aug 2022 11:07:21 +0800 Subject: [PATCH 03/10] =?UTF-8?q?chore:=20=E4=BF=AE=E6=94=B9=20issue-check?= =?UTF-8?q?er=20`translation=20required`=20=E7=9A=84=E5=88=A4=E5=AE=9A?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 超过 10 个并且不被 ` 分隔的日文再加这个标签再加这个 label 这样有部分日文干员名就不会出问题啦! (应该没有超过 10 个日文字符的干员名吧?) --- .github/issue-checker.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/issue-checker.yml b/.github/issue-checker.yml index cc7fc21f43..e3864b7dd4 100644 --- a/.github/issue-checker.yml +++ b/.github/issue-checker.yml @@ -90,9 +90,8 @@ labels: - "module: core" - "release" - name: "translation required" - # 不要使用日文发 issue regexes: - - "(?:[Aa]dd (?:`|)(?:label |)translation required(?:`|)|(?:[\\u3040-\\u30ff]|[㍿㍐]))" + - "(?:[Aa]dd (?:`|)(?:label |)translation required(?:`|)|(?:(?:[\\u3040-\\u30ff]|[㍿㍐])[^`]*){10,})" - "(?:[Aa]dd (?:`|)(?:label |)translation required(?:`|)|^(?![\\s\\S]*(?:\ [Rr]emove (?:(?:[Aa]ll |)[Ll]abels|(?:`|)translation required(?:`|))))[\\s\\S]*$)" mode: From 02cac55ec5d73f90210415be0f3284412a771cda Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Mon, 15 Aug 2022 13:46:05 +0800 Subject: [PATCH 04/10] =?UTF-8?q?docs:=20=E5=A2=9E=E5=8A=A0=20issue-checke?= =?UTF-8?q?r=20=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 9 +++++- docs/IssueBot使用方法.md | 59 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 docs/IssueBot使用方法.md diff --git a/README.md b/README.md index c2decd7bd5..8bd8ed2cef 100644 --- a/README.md +++ b/README.md @@ -130,7 +130,7 @@ MAA 的意思是 MAA Assistant Arknights ### 贡献/参与者 -感谢所有参与到开发/测试中的朋友们,是大家的帮助让 MAA 越来越好! (*´▽`)ノノ +感谢所有参与到开发/测试中的朋友们,是大家的帮助让 MAA 越来越好! (\*´▽`)ノノ [![Contributors](https://contributors-img.web.app/image?repo=MaaAssistantArknights/MaaAssistantArknights)](https://github.com/MaaAssistantArknights/MaaAssistantArknights/graphs/contributors) @@ -158,6 +158,13 @@ MAA 的意思是 MAA Assistant Arknights - [任务流程协议](docs/任务流程协议.md) - [自动抄作业协议](docs/战斗流程协议.md) +### Issue bot + +- 使用 `Add {LABEL_NAME}` 增加标签,使用 `Remove {LABEL_NAME}` 删除标签。 +- 在提交说明中用 `close #{ISSUE_NUMBER}` 或 `fix #{ISSUE_NUMBER}` 给对应议题增加 `fixed` 标签。 + +更多说明请参考 [Issue bot 使用方法](docs/IssueBot使用方法.md)。 + ### 想参与开发,但不太会用 Github? [Github Pull Request 流程简述](docs/PR流程简述.md) diff --git a/docs/IssueBot使用方法.md b/docs/IssueBot使用方法.md new file mode 100644 index 0000000000..fac33acd6f --- /dev/null +++ b/docs/IssueBot使用方法.md @@ -0,0 +1,59 @@ +# Issue bot 使用方法 + +Issue bot 使用的 action 为 [issue-checker](https://github.com/zzyyyl/issue-checker),配置文件为 [issue-checker.yml](.github/issue-checker.yml)。 + +## 功能 + +### 自动触发 + +- 给上传文件失败的议题评论,告诉用户文件上传失败。 +- 给 议题 和 拉取请求 增加标签,包括 `module` 系列,`Client` 系列,`ambiguous`,`translation required` 等。 + Issue bot 会根据关键词自动增加分类标签,也可以通过手动添加的方式增加或删除标签。 + 具体关键词可以参考[配置文件](.github/issue-checker.yml)。 +- 给可见性设置为 public 的 MAA 成员增加 `MAA Team` 标签。 + +### 手动触发 + +尽量不要手动增加或删除分类标签,因为手动增加或删除的分类标签可能在修改后会被恢复原样。 + +#### 议题(Issue)及其评论 + +在 **修改/新增** 一个议题时: + +- `Add {LABEL_NAME}` 可以增加一个标签。 +- `Remove {LABEL_NAME}` 可以删除一个标签。 +- `Remove labels` 可以删除所有标签。 + +在 **修改/新增** 一个议题评论时: + +- `Add {LABEL_NAME}` 可以增加一个标签。1 +- `Remove {LABEL_NAME}` 可以删除一个标签。2 +- `Remove labels` 可以删除所有标签。2 +- 以下几种方法可以为议题增加 `fixed` 标签:3 + - `https://github.com/MaaAssistantArknights/MaaAssistantArknights/commit/{COMMIT_HASH} fixed` + - `fixed by https://github.com/MaaAssistantArknights/MaaAssistantArknights/commit/{COMMIT_HASH}` + - `{VERSION} fixed` + - `fixed by {VERSION}` +- `Duplicate of #{ISSUE_NUMBER}` 可以为当前议题增加 `duplicate` 标签。 +- **当你知道自己的议题评论会导致 Issue Bot 误解时,尽量添加一些 Remove 操作。** + +_Note1: `Add ambiguous` 不会增加 `ambiguous` 标签,但可以保证不删除 `ambiguous` 标签。_ + +_Note2: `Remove {LABEL_NAME}` 和 `Remove labels` 不会删除 `ambiguous` 外的任何标签,但可以保证不增加标签。_ + +_Note3: 这里的 COMMIT_HASH 需要完整的 40 位。_ + +#### 拉取请求(Pull Request)及其评论 + +与[议题(Issue)及其评论](#议题issue及其评论)基本相同。另外: + +- `Release {VERSION}` 会增加 `release` 标签。 +- **不会**自动添加 `fixed`, `duplicate` 标签。 + +#### 推送(Push) + +- 在 commit message 中包含以下几种任意一个,可以为对应议题加上 `fixed` 标签: + - `fix #{ISSUE_NUMBER}` + - `close #{ISSUE_NUMBER}` + - `fix https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/{ISSUE_NUMBER}` + - `close https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/{ISSUE_NUMBER}` From 973e555ae8e38b7bb7505c0c96d933b807fd157c Mon Sep 17 00:00:00 2001 From: zzyyyl Date: Mon, 15 Aug 2022 15:26:07 +0800 Subject: [PATCH 05/10] =?UTF-8?q?docs:=20=E4=BF=AE=E6=94=B9=20issue-checke?= =?UTF-8?q?r=20=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/IssueBot使用方法.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/docs/IssueBot使用方法.md b/docs/IssueBot使用方法.md index fac33acd6f..b42201a7db 100644 --- a/docs/IssueBot使用方法.md +++ b/docs/IssueBot使用方法.md @@ -14,7 +14,9 @@ Issue bot 使用的 action 为 [issue-checker](https://github.com/zzyyyl/issue-c ### 手动触发 -尽量不要手动增加或删除分类标签,因为手动增加或删除的分类标签可能在修改后会被恢复原样。 +多使用关键词详细描述问题来自动触发分类标签,少使用下列指令。但**当你知道自己的行为会导致 Issue bot 误解时除外**。 + +尽量不要直接增加或删除分类标签,因为手动增加或删除的分类标签可能在修改后会被恢复原样。 #### 议题(Issue)及其评论 @@ -26,22 +28,19 @@ Issue bot 使用的 action 为 [issue-checker](https://github.com/zzyyyl/issue-c 在 **修改/新增** 一个议题评论时: -- `Add {LABEL_NAME}` 可以增加一个标签。1 -- `Remove {LABEL_NAME}` 可以删除一个标签。2 -- `Remove labels` 可以删除所有标签。2 -- 以下几种方法可以为议题增加 `fixed` 标签:3 +- `Add ambiguous` 可以保证不删除 `ambiguous` 标签,但没有 `ambiguous` 标签时不会添加。 +- `Remove {LABEL_NAME}` 可以保证不增加标签。1 +- `Remove labels` 可以保证不增加任何标签。1 +- 以下几种方法可以为议题增加 `fixed` 标签:2 - `https://github.com/MaaAssistantArknights/MaaAssistantArknights/commit/{COMMIT_HASH} fixed` - `fixed by https://github.com/MaaAssistantArknights/MaaAssistantArknights/commit/{COMMIT_HASH}` - `{VERSION} fixed` - `fixed by {VERSION}` - `Duplicate of #{ISSUE_NUMBER}` 可以为当前议题增加 `duplicate` 标签。 -- **当你知道自己的议题评论会导致 Issue Bot 误解时,尽量添加一些 Remove 操作。** +- **当你知道自己的议题评论会导致 Issue bot 误解时,尽量添加一些 remove 操作。** -_Note1: `Add ambiguous` 不会增加 `ambiguous` 标签,但可以保证不删除 `ambiguous` 标签。_ - -_Note2: `Remove {LABEL_NAME}` 和 `Remove labels` 不会删除 `ambiguous` 外的任何标签,但可以保证不增加标签。_ - -_Note3: 这里的 COMMIT_HASH 需要完整的 40 位。_ +_Note1: `Remove ambiguous` 和 `Remove labels` 会删除 `ambiguous` 标签。_ +_Note2: 这里的 COMMIT_HASH 需要完整的 40 位。_ #### 拉取请求(Pull Request)及其评论 From 494a392efc35164df39c68d01efd2a121eaadf74 Mon Sep 17 00:00:00 2001 From: Helloworld <1326521+LYZhelloworld@users.noreply.github.com> Date: Mon, 15 Aug 2022 23:48:39 +0800 Subject: [PATCH 06/10] =?UTF-8?q?docs.=20=E6=9B=B4=E6=96=B0=E3=80=8A?= =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E5=99=A8=E6=94=AF=E6=8C=81=E3=80=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en/EMULATOR_SUPPORTS.md | 50 +++++++++++++++++++++++++++++++++--- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/docs/en/EMULATOR_SUPPORTS.md b/docs/en/EMULATOR_SUPPORTS.md index 9d56b9596b..c77693ea92 100644 --- a/docs/en/EMULATOR_SUPPORTS.md +++ b/docs/en/EMULATOR_SUPPORTS.md @@ -26,6 +26,14 @@ Compatible. 4. LinkStart! +- If you need to run multiple emulators (ignore this step if you do not need to do so), you can change the keywords for MAA to detect configuration files. + Add field `Bluestacks.Config.Keyword` following the steps above + Example: + + ```jsonc + "Bluestacks.Config.Keyword":"bst.instance.Nougat64.status.adb_port", + ``` + ### ✅ Nox Fully compatible. @@ -52,7 +60,8 @@ Incompatible. ADB screenshot is black. ### 🚫 Leidian -Compatible but not recommended. There is a small chance that the game will be displayed upside down or blackscreen, causing the application to click the button to use Originium by mistake (reported by users). +Compatible but not recommended. There is a small chance that the game will be displayed upside down or blackscreen, and with other problems. +For example, when it clicks the "Back" button at the top left corner, the screen rotated 180°, causing the application to click the button of using Originium by mistake (reported by users). ### ⚠️ MEmu @@ -80,6 +89,41 @@ Compatible. ### ⚙️ Custom Connection 1. Download [adb](https://dl.google.com/android/repository/platform-tools-latest-windows.zip) and unzip. -2. Go to `Settings` - `Connection Settings`, and fill in ADB path and address (IP+port is required, e.g. `127.0.0.1:5555`) +2. Go to `Settings` - `Connection Settings`, and fill in ADB path and address (IP + port are required, e.g. `127.0.0.1:5555`) -**Note:** If your device is non-`16:9` resolution like mobile phone or Android pad, You can set resolution with `adb shell wm size` on your phone and change it back later. +### ⚙️ Non-`16:9` devices like smartphones or tablets + +You may need to change the resolution manually since MAA supports only `16:9` resolution. + +1. Turn on USB debugging mode and connect your device to the computer with a cable, or debug with ADB remotely. +2. Run `Command Prompt (CMD)`, check the device address and connect. + + - Use the following command to check device ID if you are using USB cable to connect: + + ```bash + adb devices # Checks the connection status of the current device, with the first column to be the device ID + ``` + + - If you are using remote ADB connection: go to `Settings -> WLAN -> View` to find the corresponding IP address, and the port will usually be 5555 or 5037. + + ```bash + adb connect # E.g. 192.168.0.10:5555 + ``` + +3. Enter the command prompt to proceed + + ```bash + adb -s shell # Enters the command prompt of the device + wm size # Checks the resolution of the current device + wm size 720x1280 # Changes the resolution to 720p + ``` + +4. Fill in the ADB path and the address of your smartphone (device ID or IP + port) in MAA +5. Set the `Special-shaped screen adaptation` to 0 (off) in the game settings. + Otherwise, your phone UI and click response may be dislocated if you change the resolution with ADB later. +6. Use MAA (≧∇≦)ノ +7. Before exiting MAA, reset the resolution of your phone. + + ```bash + wm size reset # Resets resolution + ``` From c89e7107749ea80d8c091751103edc4e12aaa47e Mon Sep 17 00:00:00 2001 From: et Date: Tue, 16 Aug 2022 00:39:27 +0800 Subject: [PATCH 07/10] =?UTF-8?q?fix:=20=E5=88=A0=E9=99=A4=E5=A4=9A?= =?UTF-8?q?=E4=BD=99=E7=9A=84=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 编队中已精二的干员不会出现在招募列表 --- src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp b/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp index 83dc9249ee..d6ee746b00 100644 --- a/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp @@ -78,13 +78,7 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() const auto& char_opt = chars_map.find(oper_info.name); if (char_opt.has_value()) { - // 干员已在编队中 - int elite = char_opt.value().get("elite", 0); - if (elite == 2) { - // 干员已精二,忽略 - continue; - } - + // 干员已在编队中,又出现在招募列表,只有待晋升和预备干员两种情况 if (recruit_info.is_alternate) { // 预备干员可以重复招募 priority = recruit_info.recruit_priority; From 00180ea4be2a9446a2a33471e3a889a9196d7e7e Mon Sep 17 00:00:00 2001 From: et Date: Wed, 17 Aug 2022 01:25:26 +0800 Subject: [PATCH 08/10] =?UTF-8?q?fix:=20=E4=BF=AE=E6=AD=A3=E8=82=89?= =?UTF-8?q?=E9=B8=BD=E6=8B=9B=E5=8B=9F=E7=95=8C=E9=9D=A2=E6=97=A0=E5=B9=B2?= =?UTF-8?q?=E5=91=98=E6=97=B6=E4=BC=9A=E4=B8=8D=E6=96=AD=E6=BB=91=E5=8A=A8?= =?UTF-8?q?=E9=87=8D=E8=AF=95=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp b/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp index d6ee746b00..0442dd1835 100644 --- a/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp @@ -56,7 +56,13 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() auto image = m_ctrler->get_image(); RoguelikeRecruitImageAnalyzer analyzer(image); if (!analyzer.analyze()) { - // 本页没有检测到符合条件的干员,向右滑动 + // 如果还没滑动就识别失败,通常是招募界面为空,视为招募成功并退出 + if (i == 0) { + Log.trace(__FUNCTION__, "| Recruit list analyse failed before swiping"); + return true; + } + // 已经滑动过,识别失败可能是意外情况,尝试继续滑动 + Log.trace(__FUNCTION__, "| Recruit list analyze failed after swiping: ", i); slowly_swipe(ProcessTaskAction::SlowlySwipeToTheRight); sleep(Task.get("Roguelike1Custom-HijackSquad")->rear_delay); continue; From fab008c1b6bb0a2874145453de6f054d65c0ff4d Mon Sep 17 00:00:00 2001 From: et Date: Wed, 17 Aug 2022 20:42:17 +0800 Subject: [PATCH 09/10] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E8=82=89?= =?UTF-8?q?=E9=B8=BD=E6=8B=9B=E5=8B=9F=E6=9C=89=E6=97=B6=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E8=AF=86=E5=88=AB=E5=B9=B2=E5=91=98=E7=B2=BE=E8=8B=B1=E9=98=B6?= =?UTF-8?q?=E6=AE=B5=E5=92=8C=E7=AD=89=E7=BA=A7=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resource/tasks.json | 6 +++--- resource/template/Roguelike1RecruitElite0.png | Bin 1828 -> 1258 bytes resource/template/Roguelike1RecruitElite1.png | Bin 1397 -> 941 bytes resource/template/Roguelike1RecruitElite2.png | Bin 2421 -> 1606 bytes 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/resource/tasks.json b/resource/tasks.json index f46da21960..b62d404150 100644 --- a/resource/tasks.json +++ b/resource/tasks.json @@ -6917,9 +6917,9 @@ }, "Roguelike1RecruitOcrFlag": { "roi": [ - 350, - 100, - 700, + 525, + 110, + 640, 500 ], "templThreshold": 0.95 diff --git a/resource/template/Roguelike1RecruitElite0.png b/resource/template/Roguelike1RecruitElite0.png index 5db8c0526901c3ab23f08e046f9820b0579a6414..8016722d2fc30504f4f390e865c04c14ec070d76 100644 GIT binary patch literal 1258 zcmVX1^@s6D=Y3@00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf1b<0HK~zXftybMH z+-VekX2xJlnfjjEjV`4twCIG@4OzBI5o|<6R(&K^MAyZZJ8?5NlIrLHh6Y3vkeQflI@r+5Pr*QT zO{vs|goGeDIT;ZV5pZ>Ng~4FJ{{B9p%fz9N0tgHY)N<4h)6y{f`Za=Y-o%##^bg5p zGMR94a`N#2X0sWQk&!qgr;Uw`@bmLSVPPSBe0;F7vI2|6axR;zm`tr!Yx&a7&JObP z^U>Sei@CWu;W#TR3*q76*rRtQ3c^mgkxHfSuU^6EykNi=|J>R_Cds4@2*AwD4E|VM z#ni+E{D?(aSs5r-SXx@b!NGw5`9CJ?kDc2{-VXq@g-uHCciGwaA~Y1++uMSLet8)i zl%of!sfdb-!tU;_2!`z<5cYR`e2n1W;8OtJ z511(jMxzl^Q&ZrA`043W1o->Iu)Z!B@jaHrPGFx?!{+7Xp}4ph-QC^)WgwPRg2SUD zER#IrSl`%yUa!Zi!9j%Ix`l74cU&m?x3tf9zaoa!)zxsJ-#%ladB~C-^9U#yQJ?pS)PE%*;$^G#Yeub)m1XPdN7V^@XRWrvO@~%37te=6vv-D+6%UEJb~N zJ^K6m(bm=`W)x503eq|yB}Gi(Eo#Cw0yrkHGU@{niP_ZD z)QE4$!omXT>grHZQUV{6NB80dEHsT}DwRsh+FizgS8Z)A78e(V4D2Z8&KXg!EKigXO>~{@ZW_aWw<}1&Bf% Ungp+74FCWD07*qoM6N<$g2pyaSpWb4 literal 1828 zcmV+<2iy3GP)X1^@s6S>%lC000K-Nkl#y)VMb13L1BPW1VUH}iiX9tyXZjfr>Mc;_0Ejp?Sf ztbl2th$tQ^wWwKY73vA8Yo$_zrObdRohb*M!~5<93`M1a+ui5p{k|{n;rX8Te|Qwj z;>EJVWFn&JudfeH)BZ1n+-^5h0s}Fd&E)6jlQwT2b#--= zmzSd|s!CZ|84iboJ9qCgBRQFEd3mJHnS-jTuiXD{fgDz4=FFLF%ge)@kwMd~TezG~ zii?W@&`c&%VNXvFiHV6golcG%Il{DQ(^$WLJ;A}jw6?a=-`_u`S`&rKK5;?R+Rf&m?X8F>k{4PG8W5vbXy?Yk}keZf8RYe6(mkUkThZK@h z(%sdCIWv>6&`=s18+p{$#_gLonHC&OZf-6C{{B3C_>jTDK~z|}+-LUe2_Po6xX zwY8O&AAaCRn~jAT86+hoVYl1q?&^B&^+_plyWK=ZMUlN`4VhV4lzsLY7i(+jv|5M0 zXJ<1%J)KXAin#yXcc`j5v}ba1vXsL`QIQZC9>Mm%Z0GIBNGi(8sJnWVXD$~30Ra>g z6p)aRz~|@AaiOLL$Im|lpzHbw8MoVwkB<-O>FHQ376u0gIr6t7bo|(XuIbE4ox{3~ z>lhpyBQK zAACS)NC=%B9oX%5q&HrKATlC?RjXE!laoVrbu}d=CD?2>Od%$go0qeF+jdT!Jw-`L z30=cVd(|0H=w=*tB^wzP`R3KYpC{_I3;g1F^BO?0Eluq@r-_ywOaA<@j+Ep>~=d55fLm~wv4Q-EGjE2sjaQ$ zNly=os*c3U%iVtTv+8!c$88UaqF^u@aX1{@x^)XFC7U*F!eX%iFfcGcUtb>vgMrl4 zR4f(?fq{Y4*Vps-@nbYye<5&R2X!L7YP8Jr=g(*I#r$c7CY@b&ej zxVV`6_wRG{tFH(S2%uok9;&OV=;`f6onQ}Cg%A_!=x(>0xpU_trR2nk6HJ;k3A5SE z-o1OV*=#g7H?x2Lezt7cLU3Rp7cO3;|M6p1naxO#XTm?NyId{|2E(|MHBBQsJDWRq z?hqax&g#{xi7=V?Pkw$rilUH~mPU7XH-G=|LmqtpJsu$tLSVDmxOVLtQL(Ws zU%3(=e}87onnhz{BW-PM6AElCC@84VtH7A%UP?S}H#>LkBrYxvfRd6DPM$o;)81Z2 zuT>O<{(%9SzWo-f)ylki^YC~)#KpyN>eMN8O@nb%(qYKo{u+don8LzHNlBrqs*1B` z&(hl3I^=WoS93zsb(~Ho4Gj&nw6u_!naS?myNQd7qrJVI@j_dPjg6H6etv$hxI#ry z5FQW9ms%L;AK?0pdinW0orJFI!&g4k_5TBhVki)i S8m_Yd0000o> diff --git a/resource/template/Roguelike1RecruitElite1.png b/resource/template/Roguelike1RecruitElite1.png index f4264789ef957495b5da98be2bcc893593a7cde7..351b516ebff57caa3ccaf99120995c40b039788b 100644 GIT binary patch literal 941 zcmV;e15*5nP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&142neK~zXfom5Lp zTR{~5?oHH)ub9LK@)F5p5{jZg z6+=uwpl^xP`Abl*Z*Ji6c<{czA10Ft3O!=8CVpy~#^ZmWGnvhkdc7VK6BEeE$w4F> zK{OIYQcM0JRaKSWgmfd;S*_N|)6-M5wzi_Drw1;V3);1Yv+x;WzhX=(9S~{S#5S94 zGLc9i91f$euMcLk8BUiI`8oMGK0ZeLBF?&}lBWYErpd|42}f+yFXway;y+*8w%U~%g!tCrUj7B5h#O38>Oixc^dwZKN zQg?SZhKGl_)^&x2h1@n@BhJugptrY|dv|a@h|eECVfyPA{5(8lr&QNlTU+q0tiUMb zP(;CN+1c5z5?f3bOnsQb#*YomeV@Z_V3&I~*`*#l&GU0}p;T2>X_=Xspds;;SbU+& z(*>KuhM8|ONL=6b3L;@EvZcym>pL(pNkJM(q!ROHF&8(K`@_G=@-cwl@Y!-#L=}K@ P00000NkvXXu0mjfYFV{C literal 1397 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 Date: Mon, 15 Aug 2022 23:53:16 +0800 Subject: [PATCH 10/10] =?UTF-8?q?fix:=20=E8=82=89=E9=B8=BD=E6=8B=9B?= =?UTF-8?q?=E5=8B=9F=E6=97=B6=E6=A3=80=E6=9F=A5=E6=9C=80=E4=BD=8E=E7=BB=83?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp b/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp index 0442dd1835..91418116bf 100644 --- a/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp +++ b/src/MeoAssistant/RoguelikeRecruitTaskPlugin.cpp @@ -95,15 +95,19 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() } } else { - // 干员待招募 + // 干员待招募,检查练度 if (oper_info.elite == 2) { // TODO: 招募时已精二 (随机提升或对应分队) => promoted_priority priority = recruit_info.recruit_priority; } - else { - // 招募时未精二 + else if (oper_info.elite == 1 && oper_info.level >= 50) { + // 精一50级以上 priority = recruit_info.recruit_priority; } + else { + // 精一50级以下,默认不招募 + Log.trace(__FUNCTION__, "| Ignored low level oper:", oper_info.name, oper_info.elite, oper_info.level); + } } // 已经划到后备干员,且已有候选干员,假定后面的干员优先级不会更高,不再划动 @@ -111,6 +115,11 @@ bool asst::RoguelikeRecruitTaskPlugin::_run() stop_swipe = true; } + // 优先级为0,可能练度不够被忽略 + if (priority == 0) { + continue; + } + // 添加到候选名单 auto existing_it = ranges::find_if(recruit_list, [&](const RoguelikeRecruitInfo& pri) -> bool { return pri.name == recruit_info.name;