fix:表情包逻辑小改
This commit is contained in:
@@ -106,8 +106,8 @@ class MainSystem:
|
|||||||
self.forget_memory_task(),
|
self.forget_memory_task(),
|
||||||
self.print_mood_task(),
|
self.print_mood_task(),
|
||||||
self.remove_recalled_message_task(),
|
self.remove_recalled_message_task(),
|
||||||
emoji_manager.start_periodic_check(),
|
emoji_manager.start_periodic_check_register(),
|
||||||
emoji_manager.start_periodic_register(),
|
# emoji_manager.start_periodic_register(),
|
||||||
self.app.run(),
|
self.app.run(),
|
||||||
]
|
]
|
||||||
await asyncio.gather(*tasks)
|
await asyncio.gather(*tasks)
|
||||||
|
|||||||
@@ -358,23 +358,6 @@ class EmojiManager:
|
|||||||
except Exception:
|
except Exception:
|
||||||
logger.exception("[错误] 扫描表情包失败")
|
logger.exception("[错误] 扫描表情包失败")
|
||||||
|
|
||||||
async def start_periodic_register(self):
|
|
||||||
"""定期扫描新表情包"""
|
|
||||||
while True:
|
|
||||||
logger.info("[扫描] 开始扫描新表情包...")
|
|
||||||
if (self.emoji_num > self.emoji_num_max):
|
|
||||||
logger.warning(f"[警告] 表情包数量超过最大限制: {self.emoji_num} > {self.emoji_num_max},跳过注册")
|
|
||||||
if not global_config.max_reach_deletion:
|
|
||||||
logger.warning("表情包数量超过最大限制,终止注册")
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
logger.warning("表情包数量超过最大限制,开始删除表情包")
|
|
||||||
self.check_emoji_file_full()
|
|
||||||
else:
|
|
||||||
await self.scan_new_emojis()
|
|
||||||
await asyncio.sleep(global_config.EMOJI_CHECK_INTERVAL * 60)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def check_emoji_file_integrity(self):
|
def check_emoji_file_integrity(self):
|
||||||
"""检查表情包文件完整性
|
"""检查表情包文件完整性
|
||||||
@@ -530,12 +513,24 @@ class EmojiManager:
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"[错误] 检查表情包数量失败: {str(e)}")
|
logger.error(f"[错误] 检查表情包数量失败: {str(e)}")
|
||||||
|
|
||||||
async def start_periodic_check(self):
|
async def start_periodic_check_register(self):
|
||||||
"""定期检查表情包完整性和数量"""
|
"""定期检查表情包完整性和数量"""
|
||||||
while True:
|
while True:
|
||||||
self.check_emoji_file_full()
|
logger.info("[扫描] 开始检查表情包完整性...")
|
||||||
self.check_emoji_file_integrity()
|
self.check_emoji_file_integrity()
|
||||||
|
logger.info("[扫描] 开始删除所有图片缓存...")
|
||||||
await self.delete_all_images()
|
await self.delete_all_images()
|
||||||
|
logger.info("[扫描] 开始扫描新表情包...")
|
||||||
|
if self.emoji_num < self.emoji_num_max:
|
||||||
|
await self.scan_new_emojis()
|
||||||
|
if (self.emoji_num > self.emoji_num_max):
|
||||||
|
logger.warning(f"[警告] 表情包数量超过最大限制: {self.emoji_num} > {self.emoji_num_max},跳过注册")
|
||||||
|
if not global_config.max_reach_deletion:
|
||||||
|
logger.warning("表情包数量超过最大限制,终止注册")
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
logger.warning("表情包数量超过最大限制,开始删除表情包")
|
||||||
|
self.check_emoji_file_full()
|
||||||
await asyncio.sleep(global_config.EMOJI_CHECK_INTERVAL * 60)
|
await asyncio.sleep(global_config.EMOJI_CHECK_INTERVAL * 60)
|
||||||
|
|
||||||
async def delete_all_images(self):
|
async def delete_all_images(self):
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
[inner]
|
[inner]
|
||||||
version = "1.1.1"
|
version = "1.1.2"
|
||||||
|
|
||||||
|
|
||||||
#以下是给开发人员阅读的,一般用户不需要阅读
|
#以下是给开发人员阅读的,一般用户不需要阅读
|
||||||
@@ -94,9 +94,8 @@ emoji_response_penalty = 0.1 # 表情包回复惩罚系数,设为0为不回复
|
|||||||
|
|
||||||
[emoji]
|
[emoji]
|
||||||
max_emoji_num = 120 # 表情包最大数量
|
max_emoji_num = 120 # 表情包最大数量
|
||||||
max_reach_deletion = true # 开启则在达到最大数量时删除表情包,关闭则不会继续收集表情包
|
max_reach_deletion = true # 开启则在达到最大数量时删除表情包,关闭则达到最大数量时不删除,只是不会继续收集表情包
|
||||||
check_interval = 30 # 检查破损表情包的时间间隔(分钟)
|
check_interval = 30 # 检查表情包(注册,破损,删除)的时间间隔(分钟)
|
||||||
register_interval = 30 # 注册表情包的时间间隔(分钟)
|
|
||||||
auto_save = true # 是否保存表情包和图片
|
auto_save = true # 是否保存表情包和图片
|
||||||
enable_check = false # 是否启用表情包过滤
|
enable_check = false # 是否启用表情包过滤
|
||||||
check_prompt = "符合公序良俗" # 表情包过滤要求
|
check_prompt = "符合公序良俗" # 表情包过滤要求
|
||||||
|
|||||||
Reference in New Issue
Block a user