fix:防止初次注册表情包时溢出

This commit is contained in:
SengokuCola
2025-04-06 14:22:19 +08:00
parent 594c30ab74
commit 915ad8c61a
2 changed files with 20 additions and 0 deletions

1
.gitignore vendored
View File

@@ -4,6 +4,7 @@ mongodb/
NapCat.Framework.Windows.Once/
log/
logs/
MaiBot-Napcat-Adapter-main
/test
/src/test
nonebot-maibot-adapter/

View File

@@ -249,7 +249,22 @@ class EmojiManager:
f for f in os.listdir(emoji_dir) if f.lower().endswith((".jpg", ".jpeg", ".png", ".gif"))
]
# 检查当前表情包数量
self._update_emoji_count()
if self.emoji_num >= self.emoji_num_max:
logger.warning(f"[警告] 表情包数量已达到上限({self.emoji_num}/{self.emoji_num_max}),跳过注册")
return
# 计算还可以注册的数量
remaining_slots = self.emoji_num_max - self.emoji_num
logger.info(f"[注册] 还可以注册 {remaining_slots} 个表情包")
for filename in files_to_process:
# 如果已经达到上限,停止注册
if self.emoji_num >= self.emoji_num_max:
logger.warning(f"[警告] 表情包数量已达到上限({self.emoji_num}/{self.emoji_num_max}),停止注册")
break
image_path = os.path.join(emoji_dir, filename)
# 获取图片的base64编码和哈希值
@@ -340,6 +355,10 @@ class EmojiManager:
logger.success(f"[注册] 新表情包: {filename}")
logger.info(f"[描述] {description}")
# 更新当前表情包数量
self.emoji_num += 1
logger.info(f"[统计] 当前表情包数量: {self.emoji_num}/{self.emoji_num_max}")
# 保存到images数据库
image_doc = {
"hash": image_hash,