Skip to main content

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

Project description

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

    🤗 致谢

    Project details


    Download files

    Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

    Source Distribution

    nonebot_plugin_skland_arksign-0.7.0.tar.gz (19.6 kB view hashes)

    Uploaded Source

    Built Distribution

    Supported by

    AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page