使用开源项目skland-daily-attendance实现森空岛自动化签到,使用GithubAction实现云托管,使用statocysts+QQbot实现通知推送。
GitHub Actions 部署
通过 GitHub Actions 可以实现自动定时签到,无需额外的服务器资源。
Fork 本仓库
点击页面右上角的 Fork 按钮,将仓库 fork 到你的账号下。
配置 GitHub Secrets
进入你 fork 的仓库,依次点击
Settings→Secrets and variables→Actions→New repository secret,添加以下必要的密钥:关于 SKLAND_ANONYMOUS 配置
作用:隐藏角色名,设置任意值即可开启(推荐使用
true或1),默认关闭效果:
开始处理... 【明日方舟】官服角色 博士 #[数字占位符] 今天已经签到过了 【明日方舟:终末地】官服角色 管理员 lv.[等级占位符] 今天已经签到过了配置说明
配置凭据
登录 森空岛网页版 后,打开 https://web-api.skland.com/account/info/hg 记下 content 字段的值。
或者登录 鹰角网络通行证 后,打开 https://web-api.hypergryph.com/account/info/hg 记下 content 字段的值(推荐)。
将获取的凭据设置到环境变量 SKLAND_TOKENS 中,多个凭据用逗号分隔。
SKLAND_TOKENS=your-token-1,your-token-2配置消息通知(可选)
通过 Statocysts 支持多种通知方式,将对应格式的通知 URL 设置到环境变量 SKLAND_NOTIFICATION_URLS 中,多个 URL 用逗号分隔。
SKLAND_NOTIFICATION_URLS="Statocysts 格式通知 URL"其他配置
重试次数
可以通过环境变量
SKLAND_MAX_RETRIES设置签到失败时的最大重试次数,默认为 3 次。SKLAND_MAX_RETRIES=5隐藏角色名
可以通过环境变量
SKLAND_ANONYMOUS隐藏角色名,设置任意值即可开启(推荐使用true或1),默认关闭。SKLAND_ANONYMOUS=true
启用 GitHub Actions
进入仓库的
Actions标签页,如果看到提示,点击I understand my workflows, go ahead and enable them启用工作流。执行签到
GitHub Actions 会在每天 16:00 (UTC) 自动执行签到任务。你也可以手动触发:
进入
Actions标签页选择
attendance工作流点击右侧的
Run workflow按钮点击绿色的
Run workflow确认执行
工作流说明
attendance(
.github/workflows/schedule.yml)自动签到工作流,每天 16:00 (UTC) 定时执行
支持手动触发和通过
workflow_call被其他工作流调用定时执行时会自动调用
liskin/gh-workflow-keepalive@v1防止仓库长期无活动导致 GitHub Actions 被自动停用
注意事项
GitHub Actions 免费额度为每月 2000 分钟,本项目的签到任务约消耗 1-2 分钟/次
确保仓库为 Public 或拥有 GitHub Actions 的私有仓库配额
如果长时间(60天)没有任何提交,GitHub 会自动停用 Actions,
workflow-keepalive会在每次定时执行时通过 GitHub API 重新启用工作流,无需产生额外的 commit
消息推送(可选)
参考文档:Statocysts官方文档、QQ 机器人官方文档
了解必要参数
根据Statocysts官方文档可知,若使用 QQbot 进行消息推送则推送URL如下:
qqbot://<app-id>:<client-secret>@user/<user-openid>其中
qqbot://为机器人识别器;<app-id>为 QQbot 的 AppID ;<client-secret>为 QQbot 的 AppSecret ;@user为消息对象识别器;<user-openid>为该QQbot针对某一发送对象的QQ用户产生的识别ID,注意并非发送对象的QQ号。了解各个参数意义后就好获取正确的参数了。
获取相应参数
为了获取AppID 以及 AppSecret,需要根据QQ 机器人官方文档注册 QQbot 。
在
我的机器人->选择相应的机器人->开发设置中可以获取到 QQbot 的 AppID 以及 AppSecret。为了获取
<user-openid>,需要为 QQbot 添加 Agent 。在
高级设置->设置机器人服务->LightVela中按照LightVela的官方文档配置接入 QQbot 。成功接入QQbot后回到QQ,使用注册QQbot的QQ号向QQbot发送命令
/whoami,会获取到类似如下信息:You — qqbot (DM) User ID: Tier: Slash commands:其中
User ID后的信息就是<user-openid>。配置 GitHub Secrets
获取到全部参数的信息后按照
qqbot://<app-id>:<client-secret>@user/<user-openid>将URL添加到 GitHub Secrets 即可。效果展示
