docs: update README.md
This commit is contained in:
parent
e61c608262
commit
fefc5611b6
144
README.md
144
README.md
@ -32,12 +32,18 @@ Genshin Impact Helper 可以自动化为你获取原神每日福利。
|
|||||||
## 💡特性
|
## 💡特性
|
||||||
|
|
||||||
- [x] **自动签到** 程序会在每天早上自动执行签到流程,也可以随时通过部署教程的`步骤4`手动触发,具体时间参照[此处](.github/workflows/main.yml)
|
- [x] **自动签到** 程序会在每天早上自动执行签到流程,也可以随时通过部署教程的`步骤4`手动触发,具体时间参照[此处](.github/workflows/main.yml)
|
||||||
- [x] **支持订阅** 通过配置`SCKEY`开启订阅,每天将签到结果推送到微信上
|
- [x] **支持同步** 自动同步上游仓库,默认关闭
|
||||||
- [x] **支持多账号** 不同账号的`Cookie`之间用`#`分隔,如:`myCookie1#myCookie2`
|
- [x] **支持订阅** 可选多种订阅方式,通过配置不同参数开启,每天将签到结果推送给订阅用户
|
||||||
|
- [x] **支持多账号** 不同账号的`Cookie`值之间用`#`分隔,如:`Cookie1#Cookie2#Cookie3`
|
||||||
- [x] **支持多角色** 支持绑定官服和B站渠道服角色的米游社账号
|
- [x] **支持多角色** 支持绑定官服和B站渠道服角色的米游社账号
|
||||||
|
|
||||||
## 📐部署
|
## 📐部署
|
||||||
|
|
||||||
|
1. Fork 仓库
|
||||||
|
2. 获取 Cookie
|
||||||
|
3. 添加 Cookie 至 Secrets
|
||||||
|
4. 启用 Actions
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>查看教程</summary>
|
<summary>查看教程</summary>
|
||||||
|
|
||||||
@ -110,47 +116,137 @@ if (ask == true) {
|
|||||||
|
|
||||||
## 🔍结果
|
## 🔍结果
|
||||||
|
|
||||||
当你完成上述流程,可以在`Actions`页面点击`Genshin Impact Helper`-->`build`-->`Run sign`查看结果。
|
当你完成上述流程,可以在`Actions`页面点击`Genshin Impact Helper`-->`build`-->`Run sign`查看运行日志,注意`签到结果`的提示。
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>查看结果</summary>
|
<summary>查看结果</summary>
|
||||||
|
|
||||||
### 签到成功
|
### 签到成功
|
||||||
|
|
||||||
如果成功,会输出类似`"result": "Success"`的信息:
|
如果成功,会输出类似`签到结果: 成功: 1 | 失败: 0 `的信息:
|
||||||
|
|
||||||
```
|
```
|
||||||
2020-11-18T22:11:45 INFO Sleep for 100 seconds ...
|
签到结果: 成功: 1 | 失败: 0
|
||||||
2020-11-18T22:13:26 INFO UID is 100***000
|
|
||||||
2020-11-18T22:13:27 INFO {
|
NO.1 账号:
|
||||||
"result": "Success",
|
#########2021-01-13#########
|
||||||
"message": "{\"retcode\": 0, \"message\": \"OK\", \"data\": {\"code\": \"ok\"}}"
|
🔅[天空岛]1******9
|
||||||
}
|
今日奖励: 摩拉 × 8000
|
||||||
|
本月累签: 13 天
|
||||||
|
签到结果: OK
|
||||||
|
############################
|
||||||
|
#########2021-01-13#########
|
||||||
|
🔅[世界树]5******1
|
||||||
|
今日奖励: 精锻用良矿 × 3
|
||||||
|
本月累签: 2 天
|
||||||
|
签到结果: OK
|
||||||
|
############################
|
||||||
```
|
```
|
||||||
|
|
||||||
### 签到失败
|
### 签到失败
|
||||||
|
|
||||||
如果失败,会输出类似`"result": "Failed"`的信息:
|
如果失败,会输出类似`签到结果: 成功: 0 | 失败: 1`的信息:
|
||||||
|
|
||||||
```
|
```
|
||||||
2020-11-17T22:11:33 INFO Sleep for 54 seconds ...
|
签到结果: 成功: 0 | 失败: 1
|
||||||
2020-11-17T22:12:28 INFO UID is 100***000
|
|
||||||
2020-11-17T22:12:29 INFO {
|
NO.1 账号:
|
||||||
"result": "Failed",
|
登录失效,请重新登录
|
||||||
"message": "{\"data\": null, \"message\": \"请求异常\", \"retcode\": -401}"
|
|
||||||
}
|
|
||||||
Error: Process completed with exit code 255.
|
|
||||||
```
|
```
|
||||||
|
|
||||||
同时你会收到一封来自GitHub、标题为`Run failed: Genshin Impact Helper - master`的邮件。
|
同时你会收到一封来自GitHub、标题为`Run failed: Genshin Impact Helper - master`的邮件。
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
注:若开启订阅推送,无论成功与否,都会收到推送通知。
|
||||||
|
|
||||||
|
## 🔄同步
|
||||||
|
|
||||||
|
因为接口请求上可能发生一些变化,所以上游源代码需要作出更改来适配这些变化,如果你没有及时同步项目源代码,可能会导致签到失败。
|
||||||
|
|
||||||
|
**如果你不熟悉 Github 如何同步上游仓库,建议删除你 Fork 的仓库(仓库的`Settings - Options - Danger Zone - Delete this repository`),以重新 Fork 的方式来同步更新,不要再乱点 Pull Request了~**
|
||||||
|
|
||||||
|
⚠️开启自动同步后[存在的风险](https://github.com/y1ndan/genshin-impact-helper/pull/47#issuecomment-751869761)
|
||||||
|
> 这导致了开发者账号泄露后用户被供应链攻击的隐患,而主页的协议中没有明确指出这一点。协议中同时包含了“除此之外,开发者无权获取您的 Cookie”这一陈述,而事实上开发者在此次PR后可以通过更改源代码来在用户未经授权的情况下收集用户Cookie。此前用户在使用本软件时应该默认进行代码审查,然后手动在自己的Repo里PR进行更新。现在的则跳过了这一用户授权更新的动作。
|
||||||
|
|
||||||
|
若你了解并接受自动同步带来的可能的风险,请继续往下阅读:
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>开启同步</summary>
|
||||||
|
|
||||||
|
项目重新启用自动同步功能,默认关闭。
|
||||||
|
|
||||||
|
同步默认使用远程仓库覆盖复刻仓库的方式,如果想保留自己的修改,可以编辑`pull.yml`文件,将`mergeMethod: hardreset`修改为`mergeMethod: merge`。
|
||||||
|
|
||||||
|
### 激活安装
|
||||||
|
|
||||||
|
1. 前往 `https://pull.git.ci/check/${owner}/genshin-impact-helper` 激活配置文件,其中`${owner}`修改为你的 Github 用户名
|
||||||
|
2. 安装 [ Pull app](https://github.com/apps/pull),在安装向导页选择`Only select repositories`,下拉列表选择`genshin-impact-helper`,点击`Install`完成安装
|
||||||
|
3. 程序会在上游仓库有更新时 3 小时内自动同步
|
||||||
|
|
||||||
|
### 手动触发
|
||||||
|
|
||||||
|
完成激活安装后,你可以随时前往 `https://pull.git.ci/process/${owner}/genshin-impact-helper` 手动触发同步,其中`${owner}`修改为你的 Github 用户名,网页显示`Success`则触发成功。
|
||||||
|
|
||||||
|
如果没有自动同步,应检查你的仓库是否已经是最新的;或者检查仓库的`Pull requests
|
||||||
|
`里是否有以`[pull]`开头的合并请求,若有则需要点进去找到`Merge pull request`按钮,点击确认合并。
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
## 🔔订阅
|
||||||
|
|
||||||
|
若开启订阅推送,无论成功与否,都会收到推送通知
|
||||||
|
|
||||||
|
### Push All In One
|
||||||
|
|
||||||
|
支持Server酱、酷推、Bark App、Telegram Bot、钉钉机器人、企业微信机器人、iGot聚合推送和pushplus 单个或多个推送,配置对应参数就会开启对应的推送方式,参数列表详见下文`参数`部分。
|
||||||
|
|
||||||
|
#### Server酱
|
||||||
|
|
||||||
|
以Server酱为例:
|
||||||
|
|
||||||
|
**a.获取 SCKEY**
|
||||||
|
|
||||||
|
- 使用 GitHub 登录 [sc.ftqq.com](http://sc.ftqq.com/?c=github&a=login) 创建账号
|
||||||
|
- 点击「[发送消息](http://sc.ftqq.com/?c=code)」,获取`SCKEY`
|
||||||
|
- 点击「[微信推送](http://sc.ftqq.com/?c=wechat&a=bind)」,完成微信绑定
|
||||||
|
|
||||||
|
**b.添加 SCKEY 到 Secrets**
|
||||||
|
|
||||||
|
- 建立名为`SCKEY`的 secret,并添加获取的 SCKEY 值,即可开启Server酱推送
|
||||||
|
|
||||||
|
其他推送方式请参考对应官方文档获取 KEY 或 TOKEN 等参数,再添加到`Secrets`里。
|
||||||
|
|
||||||
|
## 🧬参数
|
||||||
|
|
||||||
|
在`Settings`-->`Secrets`里添加的参数,`Name`必须为下列的参数名称之一,`Value`则填写对应获取的值
|
||||||
|
|
||||||
|
| 参数名称 | 是否必填 | 默认值 | 说明 |
|
||||||
|
|--- |--- |--- |--- |
|
||||||
|
| COOKIE | ✅ | | 米游社的Cookie |
|
||||||
|
| SCKEY | ❌ | | Server酱推送所需的SCKEY |
|
||||||
|
| COOL_PUSH_SKEY | ❌ | | Cool Push推送所需的SKEY |
|
||||||
|
| COOL_PUSH_MODE | ❌ | send | Cool Push推送方式,可选群组(group)或者微信(wx) |
|
||||||
|
| BARK_KEY | ❌ | | Bark推送所需的BARK_KEY |
|
||||||
|
| BARK_SOUND | ❌ | healthnotification | Bark推送的铃声,在APP内查看铃声列表 |
|
||||||
|
| TG_BOT_TOKEN | ❌ | | Telegram Bot的TOKEN |
|
||||||
|
| TG_USER_ID | ❌ | | 接收通知消息的Telegram用户的ID |
|
||||||
|
| DD_BOT_TOKEN | ❌ | | 钉钉机器人的webhook KEY |
|
||||||
|
| DD_BOT_SECRET | ❌ | | 钉钉加签密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串 |
|
||||||
|
| WW_BOT_KEY | ❌ | | 企业微信机器人的webhook KEY |
|
||||||
|
| IGOT_KEY | ❌ | | iGot推送所需的KEY |
|
||||||
|
| PUSH_PLUS_TOKEN | ❌ | | pushplus一对一推送或一对多推送下面的Token |
|
||||||
|
| PUSH_PLUS_USER | ❌ | 一对一推送 | pushplus一对多推送的'群组编码' |
|
||||||
|
|
||||||
## 🔨开发
|
## 🔨开发
|
||||||
|
|
||||||
如果需要重构或增加额外功能参考以下数据
|
如果需要重构或增加额外功能可参考以下数据:
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>查看数据</summary>
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
# 角色信息
|
||||||
roles = Roles(cookie).get_roles()
|
roles = Roles(cookie).get_roles()
|
||||||
roles = {
|
roles = {
|
||||||
'retcode': 0,
|
'retcode': 0,
|
||||||
@ -172,6 +268,7 @@ roles = {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
```python
|
```python
|
||||||
|
# 签到信息
|
||||||
infos = Sign(cookie).get_info()
|
infos = Sign(cookie).get_info()
|
||||||
infos = [
|
infos = [
|
||||||
{
|
{
|
||||||
@ -187,16 +284,9 @@ infos = [
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
```
|
```
|
||||||
## 🔔订阅
|
|
||||||
|
|
||||||
若开启订阅推送,无论成功与否,都会收到微信通知。
|
</details>
|
||||||
|
|
||||||
- 使用 GitHub 登录 [sc.ftqq.com](http://sc.ftqq.com/?c=github&a=login) 创建账号
|
|
||||||
- 点击「[发送消息](http://sc.ftqq.com/?c=code)」,获取`SCKEY`
|
|
||||||
- 点击「[微信推送](http://sc.ftqq.com/?c=wechat&a=bind)」,完成微信绑定
|
|
||||||
- 建立名为`SCKEY`的 secret,并添加获取的 SCKEY 值,即可开启订阅推送
|
|
||||||
|
|
||||||
## ❗️协议
|
## ❗️协议
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user