From a87dfd97b1ab319eb4a8157ecf6d4b3e2e2928ec Mon Sep 17 00:00:00 2001 From: minecraft1024a Date: Tue, 12 Aug 2025 15:01:45 +0800 Subject: [PATCH] =?UTF-8?q?fix(emoji=5Fmanager):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E8=A1=A8=E6=83=85=E5=8C=85=E5=88=A0=E9=99=A4=E5=92=8C=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E8=AE=B0=E5=BD=95=E9=80=BB=E8=BE=91=EF=BC=8C=E7=A1=AE?= =?UTF-8?q?=E4=BF=9D=E5=9C=A8=E6=9C=AA=E6=89=BE=E5=88=B0=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E6=97=B6=E4=B8=8D=E5=86=8D=E6=8A=9B=E5=87=BA=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=EF=BC=8C=E6=94=B9=E4=B8=BA=E8=AE=B0=E5=BD=95=E8=AD=A6=E5=91=8A?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/chat/emoji_system/emoji_manager.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/chat/emoji_system/emoji_manager.py b/src/chat/emoji_system/emoji_manager.py index 5325bec38..9e262cce2 100644 --- a/src/chat/emoji_system/emoji_manager.py +++ b/src/chat/emoji_system/emoji_manager.py @@ -206,10 +206,11 @@ class MaiEmoji: # 2. 删除数据库记录 try: will_delete_emoji = session.execute(select(Emoji).where(Emoji.emoji_hash == self.hash)).scalar_one_or_none() - result = will_delete_emoji.delete_instance() # Returns the number of rows deleted. - except Emoji.DoesNotExist: # type: ignore - logger.warning(f"[删除] 数据库中未找到哈希值为 {self.hash} 的表情包记录。") - result = 0 # Indicate no DB record was deleted + if will_delete_emoji is None: + logger.warning(f"[删除] 数据库中未找到哈希值为 {self.hash} 的表情包记录。") + result = 0 # Indicate no DB record was deleted + else: + result = will_delete_emoji.delete_instance() # Returns the number of rows deleted. if result > 0: logger.info(f"[删除] 表情包数据库记录 {self.filename} (Hash: {self.hash})") @@ -420,11 +421,12 @@ class EmojiManager: """记录表情使用次数""" try: emoji_update = session.execute(select(Emoji).where(Emoji.emoji_hash == emoji_hash)).scalar_one_or_none() - emoji_update.usage_count += 1 - emoji_update.last_used_time = time.time() # Update last used time - emoji_update.save() # Persist changes to DB - except Emoji.DoesNotExist: # type: ignore - logger.error(f"记录表情使用失败: 未找到 hash 为 {emoji_hash} 的表情包") + if emoji_update is None: + logger.error(f"记录表情使用失败: 未找到 hash 为 {emoji_hash} 的表情包") + else: + emoji_update.usage_count += 1 + emoji_update.last_used_time = time.time() # Update last used time + emoji_update.save() # Persist changes to DB except Exception as e: logger.error(f"记录表情使用失败: {str(e)}")