Skip to main content

Genshin gacha history analysis plugin for NoneBot2

Project description

NoneBot Plugin GachaLogs


🤖 用于统计及导出原神祈愿记录的 NoneBot2 插件


现已支持祈愿历史记录链接自动更新!


actions license pypi python


祈愿统计图

安装方法

如果你正在使用 2.0.0.beta1 以上版本 NoneBot,推荐使用以下命令安装:

# 从 nb_cli 安装
python3 -m nb plugin install nonebot-plugin-gachalogs

# 或从 PyPI 安装
python3 -m pip install nonebot-plugin-gachalogs
在 NoneBot 2.0.0.alpha16 上使用此插件

在过时的 NoneBot 2.0.0.alpha16 上 可能 仍有机会体验此插件!不过,千万不要通过 NoneBot 脚手架或 PyPI 安装,低版本仅支持通过 Git 手动安装。

以下命令仅作参考:

# 进入 Bot 根目录
cd /path/to/bot
# 安装依赖
# source venv/bin/activate
python3 -m pip install matplotlib pillow xlsxwriter
# 安装插件
git clone https://github.com/monsterxcn/nonebot-plugin-gachalogs.git
cd nonebot_plugin_gachalogs
cp -r nonebot_plugin_gachalogs /path/to/bot/plugins/
cp -r data/gachalogs /path/to/bot/data/

使用须知

  • 初次使用 抽卡记录 命令时,要求输入祈愿历史记录链接或米哈游通行证 Cookie。如果初次使用输入链接(只要回复的内容中含有即可,不必手动截取准确的链接),在该链接的 AuthKey 过期(24 小时)后需要重新输入链接或 Cookie 才能刷新数据。如果初次使用输入 Cookie,只要 Cookie 有效,后续使用时祈愿历史记录链接将自动更新,无需再次输入。

  • 插件使用米哈游通行证 Cookie 来自动更新祈愿历史记录链接,该 Cookie 可在 米哈游通行证 登陆获取,并非一些教程中使用的 米游社 BBS Cookie,其中需要包含 stoken stuidlogin_ticket

    此处提供一种获取该 Cookie 的简便方法:在桌面端浏览器 隐身标签页 中打开 https://user.mihoyo.com/ ,正常登陆米哈游通行证账号;按下 F12 键,切换至「Console / 控制台」页面,在输入处(通常由蓝色「>」符号示意)输入 document.cookie 回车,控制台中出现的字符串即为插件需要的 Cookie。你也可以参考 KimigaiiWuyi/GenshinUID#255 等其他教程获取米哈游通行证 Cookie。

  • 一般来说,插件安装完成后无需设置环境变量,只需重启 Bot 即可开始使用。你也可以在 NoneBot2 当前使用的 .env 文件中参考 .env.example 添加下表给出的环境变量,对插件进行更多配置。环境变量修改后需要重启 Bot 才能生效。

    环境变量 必需 默认 说明
    gachalogs_safe_group [] 安全群组,只有在安全群组内才允许输入链接、Cookie 等内容
    gacha_expire_sec 3600 祈愿历史记录本地缓存过期秒数
    resources_dir /path/to/bot/data/ 插件缓存目录的父文件夹,包含 gachalogs 文件夹的上级文件夹路径
    gachalogs_font /path/to/bot/data/gachalogs/LXGW-Bold.ttf 祈愿历史记录绘制字体
    gachalogs_pie_font /path/to/bot/data/gachalogs/LXGW-Bold-minipie.ttf 祈愿历史记录绘制饼图字体
  • 在群组中发送米哈游通行证 Cookie 等内容存在安全隐患,因此即使某些命令在群组中触发,处理结果最终也会通过私聊发送。如果用户未添加 Bot 为好友,私聊消息将发送失败。你也可以在环境变量中添加 gachalogs_safe_group 定义安全群组,允许在这些群组中直接发送敏感消息,如果大家不在意的话。

  • commit e2f38f3 之后插件私聊文件发送功能不再依赖腾讯云 COS 转存,只需 go-cqhttp 支持 上传私聊文件 接口。因此如果有私聊文件发送需求,务必保证 go-cqhttp 版本不低于 v1.0.0-rc3

  • 使用 抽卡记录导出 命令生成的表格与 JSON 文件均符合 统一可交换祈愿记录标准(UIGF)格式,你可以尝试在其他支持此标准的工具中导入。导出的祈愿历史记录链接、米哈游通行证 Cookie 在某些地方也许有用。

  • 插件运行后,会将用户的基本配置信息写入 config.json 文件,祈愿历史记录数据缓存于 gachalogs-{uid}.json 文件。使用 抽卡记录删除 命令默认只删除 gachalogs-{uid}.json 文件,如果需要连同指定用户在 config.json 文件中的配置一起删除,请使用附带参数 全部 等。记录、配置一旦删除将无法恢复,所以 抽卡记录删除 命令会要求重新发送附带删除操作确认参数的命令。你也可以在第一次发送命令时就确认删除操作,例如 抽卡记录删除确认

命令说明

  • 抽卡记录 / ckjl

    返回一张祈愿历史记录统计图,样式与 https://genshin.voderl.cn/ 一致。

    可选附带参数 默认 说明
    刷新 / -f / --force 要求强制刷新最新祈愿历史记录,即使本地缓存未过期(结果默认缓存 1 小时)
    祈愿历史记录链接 指定祈愿历史记录链接(仅初次使用、无法自动更新祈愿历史记录链接时生效)
    米哈游通行证 Cookie 指定米哈游通行证 Cookie(仅初次使用、无法自动更新祈愿历史记录链接时生效)
  • 抽卡记录导出 / logexp / ckjldc

    导出祈愿历史记录表格,通过可选附带参数指定导出祈愿历史记录 JSON 文件、祈愿历史记录链接或米哈游通行证 Cookie。

    可选附带参数 默认 说明
    @某人 @自己 指定导出记录用户,仅 Bot 管理员 可导出其他用户的记录
    统一 / 标准 / uigf / json 指定导出祈愿历史记录为 JSON 文件
    链接 / 地址 / url 指定导出祈愿历史记录链接
    饼干 / ck / cookie 指定导出米哈游通行证 Cookie

    导出示意图

  • 抽卡记录删除 / logdel / ckjldc

    删除本地祈愿历史记录缓存(不会影响 Cookie 等配置数据),通过可选附带参数指定删除全部数据。

    可选附带参数 默认 说明
    @某人 @自己 指定删除记录或配置的用户,仅 Bot 管理员 可删除其他用户的记录或配置
    强制 / 确认 / force / -f / -y 删除操作确认
    全部 / 所有 / 配置 / all / -a / config / -c 指定删除用户的 配置和记录 全部数据

特别鸣谢

@nonebot/nonebot2 | @Mrs4s/go-cqhttp | @sunfkny/genshin-gacha-export | @voderl/genshin-gacha-analyzer

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_gachalogs-0.2.1.tar.gz (28.8 kB view hashes)

Uploaded Source

Built Distribution

nonebot_plugin_gachalogs-0.2.1-py3-none-any.whl (28.0 kB view hashes)

Uploaded Python 3

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