以下是我最近进行的一些代码改动及其解释,以便您了解项目的最新状态,并为您的后续贡献提供参考。
-
改动内容:在main.py增加了新的
initialize_database
函数,提供另一种初始化选项。你可以注释掉原本的initialize_database
使用新的initialize_database
。在bot启动完成后使用初始化
进行插件的初始化 -
改动原因:
- 插件启动时初始化超时:当你的wife文件中的图片数量比较多/比较大时,初次启动将耗费大量的时间进行图片→CQ码的转化,容易导致bot启动超时。
- sv_help:将动态显示牛老婆成功率及次数
- 牛老婆:将提示你牛到了谁的老婆。失败时提示你还剩余多少条命
主要用于加载和缓存图片资源,以便在需要时快速访问,同时记录所有卡片文件的名称(无后缀)以便后续使用。
get_pic(pic_path, grey)
将根据给定的图片路径pic_path
和是否灰度化的标志grey
来返回处理后的图片。
由于图片已经预加载了,所以仅需传入图片名以及否灰度化的标志grey
即可
@sv.on_prefix('老婆图鉴')
@sv.on_suffix('老婆图鉴')
async def atlas(bot, ev: CQEvent):
通过指令查询老婆图鉴。不进行权限检查。
在statistics_application_service.py中新增get_user_character_ids
函数,它可以通过传入
user_group=ug,
event_type="抽老婆",
result="出新"
获取到群组用户ug
抽到的所有老婆ID
在character_application_service.py中新增get_character_names_by_ids
函数,它可以通过传入的老婆IDid
获取到老婆的名字character_names
在statistics_application_service.py中新增get_user_initiator_character_ids
函数,它可以通过传入
initiator_ug=ug,
event_type="牛老婆",
result="成功"
initiator_ug=ug,
event_type="交换老婆",
result="同意"
获取到群组用户ug
牛/交换到手的所有老婆ID
在statistics_application_service.py中新增get_user_receiver_character_ids
函数,它可以通过传入
receiver_ug=ug,
event_type="交换老婆",
result="同意"
获取到群组用户ug
同意他人交换老婆换取到手的所有老婆ID
load_ntr_atlas_statuses
和 save_ntr_atlas_statuses
函数接受一个文件名作为参数,这样你就可以为不同的配置或数据使用不同的文件。
在事件处理函数async def switch_atlas_ntr(bot, ev: CQEvent)
中,我们每次需要访问或修改状态时都会调用 load_ntr_atlas_statuses
来获取最新的字典,并在修改后调用 save_ntr_atlas_statuses
来保存更改。
请注意,你需要确保 config
文件夹存在于你的项目结构中,并且你的程序有足够的权限来读取和写入该文件。如果 config
文件夹不存在,你可能需要在你的程序初始化时创建它,或者确保它在部署前就已经存在。