GuGuMur / nonebot-plugin-skland-arksign

用于每日定时签到森空岛明日方舟的 Nonebot 插件

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NoneBotPluginLogo

NoneBotPluginText

nonebot-plugin-skland-arksign

✨ 用于每日早八定时签到森空岛明日方舟的Nonebot插件 ✨

license pypi python

💿 安装

使用 nb-cli 安装 在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装
nb plugin install nonebot-plugin-skland-arksign
使用包管理器安装 在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令
pip
pip install nonebot-plugin-skland-arksign
pdm
pdm add nonebot-plugin-skland-arksign
poetry
poetry add nonebot-plugin-skland-arksign
conda
conda install nonebot-plugin-skland-arksign

打开 nonebot2 项目根目录下的 pyproject.toml 文件, 在 [tool.nonebot] 部分追加写入

plugins = ["nonebot_plugin_skland_arksign"]

Important

如果想在 Python <= 3.9 的环境中使用,请选择 v0.5.8,这是最后一个支持 Python <= 3.9 的 Release

严格来说其实是第一个以及最后一个,因为之前的版本有不适用于非3.10以下的类型注解语法,为此专门发布的一个可用的支持版本

对于其他 v0.5.8 版本,都有可能不兼容 Python <= 3.9

🎉 使用

插件命令名为skland, 可用别名:sklskd森空岛

配置

在 bot 项目的.env文件中添加下表中的配置

配置项 类型 必填 默认值 说明
skland_arksign_allow_group bool False 允许群组等私信用户以上的对话模型注册模型而不会警告 请在私聊中使用 字样
  • 在群聊中使用命令时,命令的权限会受到较大限制
  • skland_timestamp_delay int 2 针对bot所在机器调整bot生成森空岛签名时进行运算的减数
    skland_use_web_timestamp bool False 无法调到合适的timestamp_delay时使用的方案

    新增账号

    skland add [游戏账号ID] [森空岛token] [-n 可选备注]

    Important

    游戏账号ID为游戏主界面博士名下面那串数字(如114514

    在群聊中使用时,一定不要带上token,否则会有盗号风险

    缺少的token会在私聊中补充:使用 bind 命令

    获取Token

    1. 登录森空岛

    2. 访问这个网址

      返回如下信息

      {
        "code": 0,
        "data": {
          "content": "<Token>"
        },
        "msg": "接口会返回您的鹰角网络通行证账号的登录凭证,此凭证可以用于鹰角网络账号系统校验您登录的有效性。泄露登录凭证属于极度危险操作,为了您的账号安全,请勿将此凭证以任何形式告知他人!"
      }
    3. <Token>填入命令中

    Note

    例子: 游戏账号ID为114514,访问得到内容 "content": "1919810"

    则命令为 森空岛 add 114514 1919810

    Important

    注意不要把包裹content内容的引号,或是页面返回的整个内容输入到命令中!

    私信补充token

    群聊中添加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

    仅超级用户可用

    签到全部用户时,会分发到原本对应的聊天目标

    ♿️ FAQ

    1. 为什么这么多仅超级用户可用的命令? 因为当前的数据库模型没有记录添加者的信息,只记录了需要发送到的用户信息,所以暂时只能通过超级用户来操作 未来可能会加入权限系统,以及增加数据库模型字段

    2. 使用例子?

      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
    3. 为什么我刚获取token并绑定好,一会就用不了了?

    • 当您使用浏览器获取token时,不要去登出账号,否则鹰角网络通行证会失效!
    • 如果要添加多个账号,请删除浏览器缓存。或者使用浏览器自带的隐私浏览模式,拿到Token后,关闭隐私窗口,再登录一次即可
    • 注意:电脑在用密码登录后,手机客户端有可能会被挤掉,但一定不要点客户端里的清理会话,否则所有的登录状态都会被清空!
    1. 报错{'code': 10001, 'message': '当前用户未经授权'}
    1. 报错Client error '400 Bad Request' for url xxx
    • 请检查token复制过程中是否有错漏,以及游戏账号ID是否与您输入的token相符
    1. 报错Client error '401 Unauthorized' for url xxx
    • 参考 #配置 一栏修改skland_timestamp_delay的数值
      • 参考值:510
    • 修改 skland_use_web_timestamp 值为 True

    🤗 致谢

    About

    用于每日定时签到森空岛明日方舟的 Nonebot 插件

    License:MIT License


    Languages

    Language:Python 100.0%