QingMuCat / nonebot_plugin_xiuxian_2

基于Nonebot2的修仙文字游戏插件
78 stars 17 forks source link

关于每日刷新和其他的一丢丢建议 #29

Open youlanan opened 9 months ago

youlanan commented 9 months ago

最近用gsk对接obv11的方式使用qq开放平台的bot, 修改内容整理如下,可以参考下哦:

防具显示问题(xiuxian2_handle)

疑似这段代码与数据库实际获取的元组中的键位顺序不符,
导致已装备防具的玩家“我的修仙信息”中防具显示为无,或有其他相关问题。
BuffInfo = namedtuple("BuffInfo",
                      ["id", "user_id", "main_buff", "sec_buff", "faqi_buff", "fabao_weapon", "armor_buff", "atk_buff",
                       "blessed_spot", "sub_buff"])

经过修改后,到目前还没有再发生类似问题:
BuffInfo = namedtuple("BuffInfo",
                      ["id", "user_id", "main_buff", "sec_buff", "faqi_buff", "fabao_weapon", "sub_buff", "armor_buff", "atk_buff", "blessed_spot"])

关于偶发性循环导入问题(xiuxian2_handle)

将以下导入声明语句全部放进final_user_data(user_data)函数,避免启动时报错。
from .read_buff import UserBuffDate
from .item_json import Items
from .xn_xiuxian_impart import XIUXIAN_IMPART_BUFF

签到、宗门等刷新 因为在零点重启而容易错过刷新,建议在数据库中以当日日期为更新依据, 或全局使用同一个可储存的日期常量作为调用时被动检查更新依据 (更安全的数据更新)

@失效时UID获取 因为在某些情况下(例如官方bot)不支持获取@对象,或者UID由bot方提供时, 程序获取不到艾特的情况下直接解析命令中手动附带的参数作为UID。 (更可靠的多平台适应兼容)

权限一键开关 希望超管可以一键主动开启所有群的修仙功能。 (超管不在群里也能愉快玩耍)

在某些情况下没有办法知悉谁是管理员、超管、群员, 可以考虑通过本群内最高境界来控制功能(例如天罚boss等功能使用) 感觉可以使游戏更符合修仙世界捏(努力升级然后控制小世界天道,算是新的玩法机制~ (分不清群成员权限也能愉快玩耍)

更好的卡图展示 在某些情况下不支持合并转发,为此可以将所有拥有的或抽卡卡图排列在同一张图片中展示。 (感觉更像是游戏抽卡界面了)

PackageInstaller commented 6 months ago

我看了他们关于sub_buff的pr,是忘记在xiuxian_config.py中添加sub_buff字段了,你可以自己加上去 循环导入这个好解决 各种刷新问题,你别非要在0点重启bot我觉得问题不大。。。。 至于一键为所有群开启,你是官方bot我知道,你可以删掉开关那部分直接默认开启,或者自己改一下