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