gacha icon indicating copy to clipboard operation
gacha copied to clipboard

适用于HoshinoBot, 可以自动更新的全限定卡池

gacha

适用于HoshinoBot的可以自动更新的全限定卡池。包含27个限定卡池, 国服日服台服卡池, 以及混合卡池. 仅测试了v2而没有对v1进行测试. 本卡池默认不会禁言, 抽卡需要@Bot, 如果有需要请自行修改.

请务必阅读开始使用

请注意, 咖啡佬在8月5日提交了一次针对角色名称的修改b256942,将"游骑兵"更换为了"游侠", 如果您部署的时间早于此时间, 请注意更新角色名称.(#7

想法来自HoshinoBot#113, 但是从其源站获取的卡池是数字ID格式, 于是利用_pcr_data.py的数据将其转变为第一个中文名称, 更新卡池后原卡池会被备份至backup.json, 如出现错误可由此恢复.

同时可以选择自动更新角色数据和头像, 只会添加本地缺失的角色, 不会影响已有角色, 如果涉及git请注意忽略或提交.

本项目GitHub地址:https://github.com/pcrbot/gacha

Gitee地址:https://gitee.com/varmixer/gacha

卡池数据更新来源: https://api.redive.lolikon.icu/gacha/default_gacha.json

角色数据更新来源: https://api.redive.lolikon.icu/gacha/unitdata.py

指令与功能

  • 更新卡池: 更新卡池, 仅限超级管理员, 可群聊可私聊, 无需@, 无需开启服务.
  • 强制更新卡池: 不检查版本而直接覆盖本地卡池
  • 选择卡池: 与原指令相同, 请根据提示操作.
  • (自动)自动更新: 每日自动更新卡池.

其余指令与原先抽卡系统一致.

开始使用

  1. 切换至PCR模块目录下(请自行根据实际情况修改路径):
    cd ~/HoshinoBot/hoshino/modules/priconne
    
  2. 移除原有的gacha/目录, 建议自行备份以防止出现问题:
    rm gacha/ -rf 
    
  3. 在同目录下克隆本项目, 保证目录结构与原来一致, 即/hoshino/modules/priconne/gacha/:
    git clone https://github.com/pcrbot/gacha.git
    
  4. 移动文件_pcr_data.pyCHARA_NAME.jsonCHARA_PROFILE.jsonUnavailableChara.json到上级目录, 注意需要让_pcr_data.py覆盖原来的文件, 此修改与项目的其他插件完全兼容, 仅是修改了数据的保存方式, 因此无需担心(出问题我跑路)
    cd gacha/
    # 提示覆盖请确认覆盖文件
    mv _pcr_data.py ..
    mv CHARA_NAME.json ..
    mv CHARA_PROFILE.json ..
    mv UnavailableChara.json ..
    

配置

  1. 自动更新出现错误或者是发现新卡池而完成自动更新, 可通知SUPERUSER列表的第一名用户, 如果您想接受到通知, 可以将update.py第13行改为NOTICE = 1.

  2. PCRDATA_UPDATATrue时将自动更新角色昵称, 并下载头像. 角色信息保存在外部json文件中, 不会触发热重载.

更新日志

2022/6/7

  • 更新卡池信息
  • 更新200井
  • 兼容最新版HoshinoBot, 包含了UnavailableChara
  • 屏蔽远程数据库同步至本地的重复角色

2020/11/9

  • 将角色信息全部给改为json文件存储, 在启动时读取, 并且加入了动态改变角色昵称的方法, 从而在更新角色数据时不会触发全局热重载
  • 兼容最新版HoshinoBot, 包含了CHARA_PROFILE
  • 路径更换为绝对路径, 解决因启动路径而引起的报错
  • 自检, 当角色别称出现空字符时, 会自动移除

    此漏洞会引发什么问题? 当角色别称出现空字符时, 查询竞技场的指令可能导致进入死循环.

2020/10/16

  • (可选)可以自动更新角色数据(昵称)和自动下载角色头像了 #9
  • 新增指令【强制更新卡池】可以无视版本号, 强制更新本地卡池(会同时更新角色数据图标)
  • 稍微整理了下乱的要命的代码(虽然现在也是)

2020/9/29

  • 所有请求全部替换为异步调用(使用hoshino.aiorequests)
  • 定时任务改为nonebot.scheduler来触发, 不再依赖hoshino服务层

2020/9/10

  • 更新了部分游骑兵相关角色名称 #7
  • 当up角色重复出现在star3中时, 会自动移除 #8

2020/8/18

  • 解决了使用Hoshino后续版本时, 繁体指令提示冲突的问题
  • 解决了看看UP时出现USE_CQPRO不存在的问题(#1)

本模块原README

本模块基于 0皆无0(NGA uid=60429400)dalao的PCR姬器人:可可萝·Android,移植至nonebot框架而成。

重构 by IceCoffee

源代码的使用已获原作者授权。