diff --git a/bot/linkai/link_ai_bot.py b/bot/linkai/link_ai_bot.py index 6815eca..65cfe4a 100644 --- a/bot/linkai/link_ai_bot.py +++ b/bot/linkai/link_ai_bot.py @@ -370,12 +370,9 @@ class LinkAISessionManager(SessionManager): class LinkAISession(ChatGPTSession): def calc_tokens(self): - try: - cur_tokens = super().calc_tokens() - except Exception as e: - logger.debug("Exception when counting tokens precisely for query: {}".format(e)) - cur_tokens = len(str(self.messages)) - return cur_tokens + if not self.messages: + return 0 + return len(str(self.messages)) def discard_exceeding(self, max_tokens, cur_tokens=None): cur_tokens = self.calc_tokens() diff --git a/channel/chat_channel.py b/channel/chat_channel.py index c664435..ba017af 100644 --- a/channel/chat_channel.py +++ b/channel/chat_channel.py @@ -184,8 +184,6 @@ class ChatChannel(Channel): reply = e_context["reply"] if not e_context.is_pass(): logger.debug("[WX] ready to handle context: type={}, content={}".format(context.type, context.content)) - if e_context.is_break(): - context["generate_breaked_by"] = e_context["breaked_by"] if context.type == ContextType.TEXT or context.type == ContextType.IMAGE_CREATE: # 文字和图片消息 context["channel"] = e_context["channel"] reply = super().build_reply_content(context.content, context) diff --git a/plugins/hello/hello.py b/plugins/hello/hello.py index dcc248f..007df6d 100644 --- a/plugins/hello/hello.py +++ b/plugins/hello/hello.py @@ -22,6 +22,7 @@ class Hello(Plugin): super().__init__() self.handlers[Event.ON_HANDLE_CONTEXT] = self.on_handle_context logger.info("[Hello] inited") + self.config = super().load_config() def on_handle_context(self, e_context: EventContext): if e_context["context"].type not in [ @@ -30,7 +31,8 @@ class Hello(Plugin): ContextType.PATPAT, ]: return - + if not self.config or not self.config.get("use_character_desc"): + e_context["context"]["generate_breaked_by"] = EventAction.BREAK if e_context["context"].type == ContextType.JOIN_GROUP: if "group_welcome_msg" in conf(): reply = Reply() diff --git a/plugins/linkai/midjourney.py b/plugins/linkai/midjourney.py index 76395bd..9c6c57b 100644 --- a/plugins/linkai/midjourney.py +++ b/plugins/linkai/midjourney.py @@ -88,6 +88,8 @@ class MJBot: context = e_context['context'] if context.type == ContextType.TEXT: cmd_list = context.content.split(maxsplit=1) + if not cmd_list: + return None if cmd_list[0].lower() == f"{trigger_prefix}mj": return TaskType.GENERATE elif cmd_list[0].lower() == f"{trigger_prefix}mju":