{"id":22047151,"url":"https://github.com/monsterxcn/nonebot-plugin-gsmaterial","last_synced_at":"2026-03-05T07:35:52.929Z","repository":{"id":58449415,"uuid":"531899391","full_name":"monsterxcn/nonebot-plugin-gsmaterial","owner":"monsterxcn","description":"🤖 NoneBot2 原神每日材料查询、升级材料计算插件，数据由安柏计划自动更新","archived":false,"fork":false,"pushed_at":"2024-03-14T14:31:07.000Z","size":62652,"stargazers_count":20,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-27T13:42:57.421Z","etag":null,"topics":["game","genshin","nonebot2","qq"],"latest_commit_sha":null,"homepage":"https://pypi.python.org/pypi/nonebot-plugin-gsmaterial","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/monsterxcn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-02T11:32:52.000Z","updated_at":"2025-05-27T15:50:33.000Z","dependencies_parsed_at":"2024-12-01T16:50:06.122Z","dependency_job_id":null,"html_url":"https://github.com/monsterxcn/nonebot-plugin-gsmaterial","commit_stats":{"total_commits":29,"total_committers":1,"mean_commits":29.0,"dds":0.0,"last_synced_commit":"2c8602ba56658356edaff00aba279c11c6cbf394"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/monsterxcn/nonebot-plugin-gsmaterial","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monsterxcn%2Fnonebot-plugin-gsmaterial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monsterxcn%2Fnonebot-plugin-gsmaterial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monsterxcn%2Fnonebot-plugin-gsmaterial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monsterxcn%2Fnonebot-plugin-gsmaterial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/monsterxcn","download_url":"https://codeload.github.com/monsterxcn/nonebot-plugin-gsmaterial/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monsterxcn%2Fnonebot-plugin-gsmaterial/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30114316,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T03:40:26.266Z","status":"ssl_error","status_checked_at":"2026-03-05T03:39:15.902Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game","genshin","nonebot2","qq"],"created_at":"2024-11-30T13:25:28.210Z","updated_at":"2026-03-05T07:35:52.898Z","avatar_url":"https://github.com/monsterxcn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eNoneBot Plugin GsMaterial\u003c/h1\u003e\u003c/br\u003e\r\n\r\n\r\n\u003cp align=\"center\"\u003e🤖 用于展示原神游戏\u003cb\u003e秘境材料\u003c/b\u003e和\u003cb\u003e升级消耗\u003c/b\u003e数据的 NoneBot2 插件\u003c/p\u003e\u003c/br\u003e\r\n\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003ca href=\"https://raw.githubusercontent.com/monsterxcn/nonebot-plugin-gsmaterial/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/monsterxcn/nonebot-plugin-gsmaterial\" alt=\"license\" /\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://pypi.python.org/pypi/nonebot-plugin-gsmaterial\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/nonebot-plugin-gsmaterial\" alt=\"pypi\" /\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://www.python.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/python-3.8+-blue\" alt=\"python\" /\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://jq.qq.com/?_wv=1027\u0026k=GF2vqPgf\"\u003e\u003cimg src=\"https://img.shields.io/badge/QQ%E7%BE%A4-662597191-orange\" alt=\"QQ Chat Group\" /\u003e\u003c/a\u003e\u003cbr /\u003e\r\n  \u003ca href=\"https://github.com/psf/black\"\u003e\u003cimg src=\"https://img.shields.io/badge/code%20style-black-000000.svg\" alt=\"Code style: black\" /\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://pycqa.github.io/isort\"\u003e\u003cimg src=\"https://img.shields.io/badge/%20imports-isort-%231674b1?\u0026labelColor=ef8336\" alt=\"Imports: isort\" /\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://flake8.pycqa.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/lint-flake8-\u0026labelColor=4c9c39\" alt=\"Lint: flake8\" /\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://results.pre-commit.ci/latest/github/monsterxcn/nonebot-plugin-gsmaterial/main\"\u003e\u003cimg src=\"https://results.pre-commit.ci/badge/github/monsterxcn/nonebot-plugin-gsmaterial/main.svg\" alt=\"pre-commit\" /\u003e\u003c/a\u003e\r\n\u003c/p\u003e\u003c/br\u003e\r\n\r\n\r\n| ![daily 1 avatar](https://github.com/monsterxcn/nonebot-plugin-gsmaterial/assets/22407052/24b343b6-838a-4976-8566-fc14124cc5dd) | ![daily 2 weapon](https://github.com/monsterxcn/nonebot-plugin-gsmaterial/assets/22407052/ef9a9871-1b28-45dc-b52f-02872a319de7) | ![weekly 8](https://github.com/monsterxcn/nonebot-plugin-gsmaterial/assets/22407052/fd90b333-90e6-4d34-9523-1b991eb51945) | ![clac 10000084](https://github.com/monsterxcn/nonebot-plugin-gsmaterial/assets/22407052/2db48921-0dfa-453f-90b3-82d83af1238b) |\r\n|:--:|:--:|:--:|:--:|\r\n\r\n\r\n## 安装方法\r\n\r\n\r\n如果你正在使用 2.0.0.beta1 以上版本 NoneBot2，推荐使用以下命令安装：\r\n\r\n\r\n```bash\r\n# 从 nb_cli 安装\r\npython -m nb_cli plugin install nonebot-plugin-gsmaterial\r\n\r\n# 或从 PyPI 安装\r\npython -m pip install nonebot-plugin-gsmaterial\r\n```\r\n\r\n\r\n## 插件配置\r\n\r\n\r\n### 环境变量\r\n\r\n\r\n一般来说，插件安装完成后无需设置环境变量，只需重启 Bot 即可开始使用。你也可以在 NoneBot2 当前使用的 `.env` 文件中添加下面的环境变量，对插件进行更多配置。环境变量修改后需要重启 Bot 才能生效。\r\n\r\n\r\n - `tz` 时区设置，默认为 `\"Asia/Shanghai\"`\r\n   \r\n   如果定时任务时区异常，请查看 [@nonebot/plugin-apscheduler](https://github.com/nonebot/plugin-apscheduler) 文档添加该依赖插件的 `apscheduler_config` 环境变量配置\r\n   \r\n - `gsmaterial_mirror` 角色及武器图标下载镜像，需提供 `UI_AvatarIcon_Layla.png` 等形式的图片，可供选择的镜像有：\r\n   \r\n   + `https://api.ambr.top/assets/UI/` 安柏计划（默认）\r\n   + `https://enka.network/ui/` Enka.Network\r\n   + `http://file.microgg.cn/ui/` 小灰灰\r\n   \r\n - `gsmaterial_scheduler` 每日材料订阅推送时间，默认为 `\"8:10\"`\r\n   \r\n - `gsmaterial_skip_three` 每日材料是否忽略三星物品，默认为 `true`\r\n   \r\n - `gsmaterial_config` 插件缓存目录，默认为 NoneBot2 根目录下 `data/gsmaterial` 文件夹，**填写时路径中的反斜杠 `\\` 务必全部替换为正斜杠 `/`**\r\n   \r\n - `gsmaterial_avatar` `gsmaterial_weapon` `gsmaterial_item`\r\n   \r\n   分别为角色图标、武器图标、物品图标文件夹或文件路径。**一般情况不需要配置**。这些配置针对的是已经使用 [@KimigaiiWuyi/GenshinUID](https://github.com/KimigaiiWuyi/GenshinUID) 等插件在本地下载了 GsMaterial 所需资源的用户，合理配置这些环境变量可以避免 GsMaterial 重复下载。如果启用了这些配置，请注意检查 NoneBot2 启动时由此插件输出的 `图片缓存规则`，确保插件正确识别！配置具体填写的形式如下：\r\n   + `/path/to/avatars` 指定某个文件夹。如果 GsMaterial 后续需要补充下载文件，文件命名与当前已有文件的格式一致。如果该文件夹内尚无文件，则 GsMaterial 会在此文件夹下载以 `中文名称.png` 形式命名的文件\r\n   + `/path/to/avatars/10000002.png` 指定某个文件。如果 GsMaterial 后续需要补充下载文件，文件命名规则为 `数字 ID.png`。与此同理，如果填入形如 `../神里绫华.jpg`，后续补充下载文件的命名规则就为 `中文名称.jpg`\r\n   \r\n   [@KimigaiiWuyi/GenshinUID](https://github.com/KimigaiiWuyi/GenshinUID) 用户安装 GsMaterial 后推荐配置：\r\n   ```\r\n   gsmaterial_avatar=\"/path/to/GenshinUID/resource/chars\"  # 填 chars 文件夹实际路径，不要照抄\r\n   gsmaterial_weapon=\"/path/to/GenshinUID/resource/weapon\"  # 填 weapon 文件夹实际路径，不要照抄\r\n   ```\r\n\r\n\r\n### Cookie 配置\r\n\r\n\r\n如需使用材料计算功能，请在 `gsmaterial_config` 配置的目录下 cookie.json 文件中以字典形式填入米游社 Cookie，文件中至少需要有 `account_id` 和 `cookie_token`。考虑到 `cookie_token` 有效期比较玄学，建议再多配置一个 `stoken` 来自动更新 `cookie_token`。如果获取到的 `stoken` 以 `v2_` 开头，则还需要再配置一个 `mid`。\r\n\r\n**注意**，Cookie 配置不需要普通用户单独配置，只需要 Bot 拥有者配置一个公共 Cookie！\r\n\r\n最终你可能写入一个像这样的 cookie.json 文件：\r\n\r\n\r\n\u003cdetails\u003e\u003csummary\u003e\u003ci\u003e最普通的一种\u003c/i\u003e\u003c/summary\u003e\u003c/br\u003e\r\n\r\n\r\n```json\r\n{\r\n  \"account_id\": \"272894075\",\r\n  \"cookie_token\": \"PV6zzXj28UUSUHetJZO2sqEff4sqwdzDAA3Wz3xY\",\r\n  \"stoken\": \"5CzsKTYLuoCy4Pf5t7y3bHkS0MjljkOm89rOYfGh\"\r\n}\r\n```\r\n\r\n\r\n\u003c/details\u003e\r\n\r\n\r\n\u003cdetails\u003e\u003csummary\u003e\u003ci\u003e使用 stoken v2 的那种\u003c/i\u003e\u003c/summary\u003e\u003c/br\u003e\r\n\r\n\r\n```json\r\n{\r\n  \"account_id\": \"272894075\",\r\n  \"cookie_token_v2\": \"PV6zzXj28UUSUHetJZO2sqEff4sqwdzDAA3Wz3xY\",\r\n  \"stoken\": \"v2_efTJdH0uiaDIcoVSINjZY9lHOtSRS5NcfREpDUpXX-AQlLujTP2HWbi14TXHrH_dA1Dxw9TdTGG0LiRONpW=\",\r\n  \"mid\": \"0cckyppmwl_mhy\"\r\n}\r\n```\r\n\r\n\r\n\u003c/details\u003e\r\n\r\n\r\n\u003cdetails\u003e\u003csummary\u003e\u003ci\u003e使用 login_ticket 的那种\u003c/i\u003e\u003c/summary\u003e\u003c/br\u003e\r\n\r\n\r\nlogin_ticket 获取方式请参考 https://github.com/monsterxcn/nonebot-plugin-gsmaterial/issues/8#issuecomment-1365705339\r\n\r\n\r\n```json\r\n{\r\n  \"account_id\": \"272894075\",\r\n  \"login_ticket\": \"5CzsKTYLuoCy4Pf5t7y3bHkS0MjljkOm89rOYfGh\",\r\n  \"mid\": \"0cckyppmwl_mhy\"\r\n}\r\n```\r\n\r\n\r\n\u003c/details\u003e\r\n\r\n\r\n## 命令说明\r\n\r\n\r\n插件响应以下形式的消息：\r\n\r\n\r\n - 以 `材料` 开头的消息\r\n   \r\n   | 附带参数 | 说明 |\r\n   |:-------|:----|\r\n   | 空 | 返回今日天赋培养与武器突破材料总图 |\r\n   | `天赋` / `角色` | 返回今日天赋培养材料图片 |\r\n   | `武器` | 返回今日武器突破材料图片 |\r\n   | `周一` / `1` / ... | 返回指定日期的天赋培养与武器突破材料总图 |\r\n   | `更新` | 立即更新每日材料数据，并返回最新的今日天赋培养与武器突破材料总图 |\r\n   | `订阅` | 启用当前消息来源的每日材料订阅，群组内仅 Bot 管理员、群组创建者、群组管理员可操作 |\r\n   | `订阅删除` | 禁用当前消息来源的每日材料订阅，群组内仅 Bot 管理员、群组创建者、群组管理员可操作 |\r\n   \r\n - 以 `周本` 开头的消息\r\n   \r\n   | 附带参数 | 说明 |\r\n   |:-------|:----|\r\n   | 空 | 返回周本材料总图 |\r\n   | `风龙` / `风魔龙` | 返回 *风魔龙·特瓦林* 掉落材料图片 |\r\n   | `狼` / `北风狼` / `王狼` | 返回 *安德留斯* 掉落材料图片 |\r\n   | `公子` / `达达利亚` / `可达鸭` / `鸭鸭` | 返回 *「公子」* 掉落材料图片 |\r\n   | `若托` / `若陀` / `龙王` | 返回 *若陀龙王* 掉落材料图片 |\r\n   | `女士` / `罗莎琳` / `魔女` | 返回 *「女士」* 掉落材料图片 |\r\n   | `雷神` / `雷电` / `雷军` / `将军` | 返回 *祸津御建鸣神命* 掉落材料图片 |\r\n   | `正机` / `散兵` / `伞兵` / `秘密主` | 返回 *「正机之神」* 掉落材料图片 |\r\n   | `草龙` / `草龙王` / `阿佩普` / `绿洲守望者` | 返回 *阿佩普的绿洲守望者* 掉落材料图片 |\r\n   | `吞星之鲸` / `鲸鱼` / `吞星鲸` | 返回 *吞星之鲸* 掉落材料图片 |\r\n   | `测试` / `未知` / `未实装` / `未上线` | 返回 *尚未实装周本* 掉落材料图片（如果有） |\r\n   \r\n   ![周本总图](https://github.com/monsterxcn/nonebot-plugin-gsmaterial/assets/22407052/952979c8-7c05-4ee5-b065-4ff43069a716)\r\n\r\n - 以 `原神计算` 开头的消息\r\n   \r\n   第一个附带参数 **必须** 为角色名称或武器名称（支持别名），并且与后面的参数 **用空格隔开**。\r\n   \r\n   计算角色时：\r\n   \r\n   + 角色等级允许的输入包括 `90`、`81-90` 等\r\n   + 天赋等级允许的输入包括 `8`、`1-8`、`888`、`81010`、`8 8 8`、`1-8 1-10 10` 等\r\n   + 只计算等级消耗时，可以使用 `111` 作为天赋等级\r\n   + 只计算天赋消耗时，可以使用 `1` 作为角色等级，或者不输入角色等级并在天赋等级前添加「天赋」二字\r\n   + 同时限定天赋等级和天赋等级时，**必须** 角色等级在前、天赋等级在后，中间用空格或「天赋」二字隔开\r\n   + 未限定等级范围时，默认计算角色等级 1-81、三个天赋等级 1-8 消耗的材料\r\n   \r\n   计算武器时：\r\n   \r\n   + 武器等级允许的输入包括 `90`、`81-90`、`81 90` 等\r\n   + 未限定等级范围时，默认计算武器等级 1-90 消耗的材料\r\n   \r\n   此指令附带参数较为复杂，下面是一些举例：\r\n   \r\n   + `原神计算琴` 计算 *琴* 角色等级 1-90、三个天赋等级 1-8 消耗材料\r\n   + `原神计算琴 81` 计算 *琴* 角色等级 1-**81**、三个天赋等级 1-8 消耗材料\r\n   + `原神计算琴 81 111` 计算 *琴* 角色等级 1-**81** 消耗材料\r\n   + `原神计算琴 81-90 111` 计算 *琴* 角色等级 **81**-**90** 消耗材料\r\n   + `原神计算琴 90 8 8-10 10` 计算 *琴* 角色等级 1-**90**、天赋等级 1-**8** **8**-**10** 1-**10** 消耗材料\r\n   + `原神计算琴 1 10` 计算 *琴* 天赋等级 1-**10** 消耗材料\r\n   + `原神计算琴 天赋101010` 计算 *琴* 三个天赋等级均 1-**10** 消耗材料\r\n   + `原神计算琴 天赋 10 1-8 1-10` 计算 *琴* 天赋等级 1-**10** **1**-**8**、**1**-**10** 消耗材料\r\n   + `原神计算狼末 81` 计算 *狼的末路* 等级 1-**81** 消耗材料\r\n   + `原神计算狼末 81 88` 计算 *狼的末路* 等级 **81**-**88** 消耗材料\r\n   \r\n   \r\n   \u003cdetails\u003e\u003csummary\u003e\u003ci\u003e计算角色示例\u003c/i\u003e\u003c/summary\u003e\u003c/br\u003e\r\n   \u003cimg src=\"https://user-images.githubusercontent.com/22407052/205485052-688953df-1609-467c-b106-dafc32a79bb7.png\" height=\"300px\"\u003e\r\n   \u003c/details\u003e\r\n   \r\n   \u003cdetails\u003e\u003csummary\u003e\u003ci\u003e计算武器示例\u003c/i\u003e\u003c/summary\u003e\u003c/br\u003e\r\n   \u003cimg src=\"https://user-images.githubusercontent.com/22407052/205486180-25706def-8f23-4305-a2b6-5cb1056b5d2e.png\" height=\"300px\"\u003e\r\n   \u003c/details\u003e\r\n\r\n\r\n## 其他说明\r\n\r\n\r\n - 插件秘境材料数据来源为 [Project Amber](https://ambr.top/chs)，所有未实装角色及武器的数据均由该数据库提供。\r\n   \r\n - 插件升级材料数据来源为 [米游社养成计算器](#)，使用此功能需要有效的 `account_id` 和 `cookie_token`。\r\n   \r\n - 插件使用的所有角色及武器图标会在 Bot 连接建立后从环境变量 `GSMATERIAL_MIRROR` 下载，所有计算器所需图标会在查询时从米游社下载。这些资源通常只需下载一次，其下载路径及保存文件名均可通过环境变量控制，具体说明请查看 [环境变量](#环境变量) 第 5 条。\r\n   \r\n - 插件的原神每日材料定时推送基于 [@nonebot/plugin-apscheduler](https://github.com/nonebot/plugin-apscheduler)，如果 NoneBot2 启动时插件的定时任务未正常注册，可能需要额外添加该插件的环境变量 `apscheduler_autostart=true` 来使 `scheduler` 自动启动。\r\n\r\n\r\n## 特别鸣谢\r\n\r\n\r\n[@Mrs4s/go-cqhttp](https://github.com/Mrs4s/go-cqhttp) | [@nonebot/nonebot2](https://github.com/nonebot/nonebot2) | [@nonebot/plugin-apscheduler](https://github.com/nonebot/plugin-apscheduler) | [@DGP-Studio/Snap.Metadata](https://github.com/DGP-Studio/Snap.Metadata) | [@ctrlcvs/xiaoyao-cvs-plugin](https://github.com/ctrlcvs/xiaoyao-cvs-plugin) | [Project Amber](https://ambr.top/chs)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonsterxcn%2Fnonebot-plugin-gsmaterial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonsterxcn%2Fnonebot-plugin-gsmaterial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonsterxcn%2Fnonebot-plugin-gsmaterial/lists"}