Closed forchannot closed 1 year ago
理论上别名也可以这样干,代码如下,不过好像本仓库用的别名不同于喵喵
import json
import re
from pathlib import Path
import requests
urls = {
"角色": "https://raw.githubusercontent.com/yoimiya-kokomi/miao-plugin/master/resources/meta-gs/character/alias.js",
# "武器": "https://raw.githubusercontent.com/yoimiya-kokomi/miao-plugin/master/resources/meta-gs/weapon/alias.js",
}
result_dict = {"角色": {}}
for alias_type, url in urls.items():
js_text = requests.get(url).text
match = re.search(r"export const alias = {(.*?)}", js_text, re.DOTALL)
if match:
js_text = match.group(1)
lines = js_text.split("\n")
for line in lines:
line = line.strip()
if line.startswith("/") or not line:
continue
key, value = line.split(":")
key = key.strip()
value = value.strip().strip(",").strip("'")
result_dict[alias_type][key] = value.split(",")
#for k, v in result_dict[alias_type].items():
#v.insert(0, k)
with open(
Path("./alias.json"), "w", encoding="utf-8"
) as f:
json.dump(result_dict, f, indent=2, ensure_ascii=False)
输出 alias.json
感谢。
以前写过用 GitHub Actions 更新评分规则,这个不是很麻烦。但是后来发现喵喵仓库的 artis-mark.js
不全,那个时候 miao-plugin 才刚开始做多流派评分,角色的评分规则放到单独的 .js
文件里去了。现在已经很久不关注面板和评分了,不知道现在 artis-mark.js
是否还能保证是最合适的评分规则?
看了下,基本上都算比较符合,然后一些特殊的流派放在了character/${name}/artis.js
里面,在这里也是全部收在一起了的,不过要完全适配喵喵的话可能得适当更改一些流派的识别,比如宵宫的话他默认是通用流派,然后加上了蒸发流派和纯火流派
感谢您提供的关于提取特殊评分规则的思路,虽然这些规则现在还没什么用,但是总归有点什么用。
关于自动更新最终能否发挥作用还是要看喵喵の脸色,谢谢喵
鉴于版本更新时间不定,目前仍保持旧的更新资源方式:手动触发 GitHub Action 来更新 CDN 上的 JSON 资源,本地重启 NoneBot2 后自动更新 JSON 资源。
现隆重邀请您加入此仓库合作者身份(主要用于在版本更新后及时手动触发 GitHub Action),以使我正式进入冬眠,感谢!
功能请求
实现代码如下
生成结果如下 artis-mark.json
代码存在改进,但初步实现了,不过发现本仓库规则是和喵喵不完全一致,可以考虑使用喵喵新规则 改进的地方:不用github api,改为请求后验证status_code