From 915ad8c61a80c23901a720ae8bf1c8d196ece34a Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Sun, 6 Apr 2025 14:22:19 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E9=98=B2=E6=AD=A2=E5=88=9D?= =?UTF-8?q?=E6=AC=A1=E6=B3=A8=E5=86=8C=E8=A1=A8=E6=83=85=E5=8C=85=E6=97=B6?= =?UTF-8?q?=E6=BA=A2=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + src/plugins/chat/emoji_manager.py | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/.gitignore b/.gitignore index d46fb033f..2bac2dac9 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ mongodb/ NapCat.Framework.Windows.Once/ log/ logs/ +MaiBot-Napcat-Adapter-main /test /src/test nonebot-maibot-adapter/ diff --git a/src/plugins/chat/emoji_manager.py b/src/plugins/chat/emoji_manager.py index 6121124c5..6247bf405 100644 --- a/src/plugins/chat/emoji_manager.py +++ b/src/plugins/chat/emoji_manager.py @@ -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,