根据数美 device ID 获取的方法的不同,可选择以下版本(区别下述):
nb plugin install nonebot-plugin-skland-arksign
nb plugin install nonebot-plugin-skland-arksign[sm_local]
nb plugin install nonebot-plugin-skland-arksign[sm_htmlrender]
插件命令名为skland
, 可用别名:skl
、skd
、森空岛
在 bot 项目的.env
文件中添加下表中的配置
配置项 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
skland_arksign_allow_group |
bool |
否 | False |
允许群组等私信用户以上的对话模型注册模型而不会警告 请在私聊中使用 字样 |
skland_timestamp_delay |
int |
否 | 2 | 针对bot所在机器调整bot生成森空岛签名时进行运算的减数 |
skland_use_web_timestamp |
bool |
否 | False |
无法调到合适的timestamp_delay 时使用的方案 |
skland_sm_method_identifier |
int |
是 | 0 |
数美Device ID / dId 的获取方式 |
skland_sm_api_endpoint |
str |
否 | ... | 选用 retrieval-server api 时的 URL路径,可自行部署 |
htmlrender-... |
... | ... | ... | 选用 htmlrender 时该插件的相关配置 |
2024.09 起,yjwl在获取 cred
的部分接入了 阿里云 Web 应用防火墙,导致全网项目拉闸
在监狱待着顺便蹲网上大佬们的成果后本插件提供以下几种应对措施:
采用 Koajs + Nodejs VM 的 API 方案,不需要额外安装依赖。
库:GuGuMur/skland-did-retrieval-server
安装:nb plugin install nonebot-plugin-skland-arksign
配置:skland_sm_method_identifier = 0
由市面上几乎所有森空岛签到项目的蓝本大佬 FancyCabbage(Gitee)对数美 SDK 逆向后使用Python 实现。
额外安装库:cryptography
代码协议:MIT
安装:nb plugin install nonebot-plugin-skland-arksign[sm_local]
配置:skland_sm_method_identifier = 1
灵感来自 ztmzzz/skyland_auto_sign_qinglong ,通过模拟浏览器环境获取dId
额外安装插件:nonebot-plugin-htmlrender
安装:nb plugin install nonebot-plugin-skland-arksign[sm_htmlrender]
配置:skland_sm_method_identifier = 2
skland add [游戏账号ID] [森空岛token] [-n 可选备注]
-
登录森空岛
-
访问这个网址
返回如下信息
{ "code": 0, "data": { "content": "<Token>" }, "msg": "接口会返回您的鹰角网络通行证账号的登录凭证,此凭证可以用于鹰角网络账号系统校验您登录的有效性。泄露登录凭证属于极度危险操作,为了您的账号安全,请勿将此凭证以任何形式告知他人!" }
-
将
<Token>
填入命令中
Note
例子: 游戏账号ID为114514,访问得到内容 "content": "1919810"
则命令为 森空岛 add 114514 1919810
Important
注意不要把包裹content
内容的引号,或是页面返回的整个内容输入到命令中!
在群聊中添加uid后,私聊中对bot发送以下命令
skland bind 森空岛token
skland del 游戏账号ID/备注
Warning
注意:非超级用户只可删除自己绑定的账号,超级用户可以删除bot数据库内所有账号
skland list
Warning
仅超级用户可用
skland update 游戏账号ID/备注 [-u 可选UID] [-t 可选token] [-n 可选备注]
Warning
仅超级用户可用
skland signin 游戏账号ID/备注
skland signin !all
Warning
仅超级用户可用
签到全部用户时,会分发到原本对应的聊天目标
-
为什么这么多仅超级用户可用的命令? 因为当前的数据库模型没有记录添加者的信息,只记录了需要发送到的用户信息,所以暂时只能通过超级用户来操作 未来可能会加入权限系统,以及增加数据库模型字段
-
使用例子?
skland add 114514 1919810 -n hhhaaa skland add 114514 1919810 skland add 114514 skland del 114514 skland del hhhaaa skland list skland update 114514 -u 1919810 -n hhhaaaaa skland update hhhaaaaa -t 0189191 skland signin 1919810
-
为什么我刚获取token并绑定好,一会就用不了了?
- 当您使用浏览器获取token时,不要去登出账号,否则鹰角网络通行证会失效!
- 如果要添加多个账号,请删除浏览器缓存。或者使用浏览器自带的隐私浏览模式,拿到Token后,关闭隐私窗口,再登录一次即可
- 注意:电脑在用密码登录后,手机客户端有可能会被挤掉,但一定不要点客户端里的清理会话,否则所有的登录状态都会被清空!
- 报错
{'code': 10001, 'message': '当前用户未经授权'}
?
- 报错
Client error '400 Bad Request' for url xxx
?
- 请检查token复制过程中是否有错漏,以及游戏账号ID是否与您输入的token相符
- 报错
Client error '401 Unauthorized' for url xxx
?
- 参考 #配置 一栏修改
skland_timestamp_delay
的数值- 参考值:
5
,10
- 参考值:
- 修改
skland_use_web_timestamp
值为True
xxyz30/skyland-auto-sign
(Github/Gitee)、Yanstory/skland-checkin-ghaction
、Maojuan-lang/SenKongDao
、enpitsuLin/skland-daily-attendance
、ztmzzz/skyland_auto_sign_qinglong:感谢以上项目提供的参考!几乎是市面上所有的森空岛签到项目AzideCupric
:感谢大佬的技术支持!orzhe0119/nonebot-plugin-datastore
:超好用的数据存储插件!MountainDash/nonebot-plugin-send-anything-anywhere
:峯驰物流部门的全能转接信使!noneplugin/nonebot-plugin-session
:全能的账单会话模型管理员!nonebot/plugin-alconna
:比argparse好用十倍甚至九倍的命令行解析器!