chore: 显式返回None
This commit is contained in:
@@ -105,3 +105,4 @@ class Individuality:
|
|||||||
return self.personality.agreeableness
|
return self.personality.agreeableness
|
||||||
elif factor == "neuroticism":
|
elif factor == "neuroticism":
|
||||||
return self.personality.neuroticism
|
return self.personality.neuroticism
|
||||||
|
return None
|
||||||
|
|||||||
@@ -180,6 +180,7 @@ class Conversation:
|
|||||||
"time": datetime.datetime.now().strftime("%H:%M:%S"),
|
"time": datetime.datetime.now().strftime("%H:%M:%S"),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
return None
|
||||||
|
|
||||||
elif action == "fetch_knowledge":
|
elif action == "fetch_knowledge":
|
||||||
self.waiter.wait_accumulated_time = 0
|
self.waiter.wait_accumulated_time = 0
|
||||||
@@ -193,28 +194,35 @@ class Conversation:
|
|||||||
if knowledge:
|
if knowledge:
|
||||||
if topic not in self.conversation_info.knowledge_list:
|
if topic not in self.conversation_info.knowledge_list:
|
||||||
self.conversation_info.knowledge_list.append({"topic": topic, "knowledge": knowledge})
|
self.conversation_info.knowledge_list.append({"topic": topic, "knowledge": knowledge})
|
||||||
|
return None
|
||||||
else:
|
else:
|
||||||
self.conversation_info.knowledge_list[topic] += knowledge
|
self.conversation_info.knowledge_list[topic] += knowledge
|
||||||
|
return None
|
||||||
|
return None
|
||||||
|
|
||||||
elif action == "rethink_goal":
|
elif action == "rethink_goal":
|
||||||
self.waiter.wait_accumulated_time = 0
|
self.waiter.wait_accumulated_time = 0
|
||||||
|
|
||||||
self.state = ConversationState.RETHINKING
|
self.state = ConversationState.RETHINKING
|
||||||
await self.goal_analyzer.analyze_goal(conversation_info, observation_info)
|
await self.goal_analyzer.analyze_goal(conversation_info, observation_info)
|
||||||
|
return None
|
||||||
|
|
||||||
elif action == "listening":
|
elif action == "listening":
|
||||||
self.state = ConversationState.LISTENING
|
self.state = ConversationState.LISTENING
|
||||||
logger.info("倾听对方发言...")
|
logger.info("倾听对方发言...")
|
||||||
await self.waiter.wait_listening(conversation_info)
|
await self.waiter.wait_listening(conversation_info)
|
||||||
|
return None
|
||||||
|
|
||||||
elif action == "end_conversation":
|
elif action == "end_conversation":
|
||||||
self.should_continue = False
|
self.should_continue = False
|
||||||
logger.info("决定结束对话...")
|
logger.info("决定结束对话...")
|
||||||
|
return None
|
||||||
|
|
||||||
else: # wait
|
else: # wait
|
||||||
self.state = ConversationState.WAITING
|
self.state = ConversationState.WAITING
|
||||||
logger.info("等待更多信息...")
|
logger.info("等待更多信息...")
|
||||||
await self.waiter.wait(self.conversation_info)
|
await self.waiter.wait(self.conversation_info)
|
||||||
|
return None
|
||||||
|
|
||||||
async def _send_timeout_message(self):
|
async def _send_timeout_message(self):
|
||||||
"""发送超时结束消息"""
|
"""发送超时结束消息"""
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
import time
|
import time
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import Dict, List, Optional
|
from typing import Dict, List, Optional, Union
|
||||||
|
|
||||||
import urllib3
|
import urllib3
|
||||||
|
|
||||||
from .utils_image import image_manager
|
|
||||||
|
|
||||||
from ..message.message_base import Seg, UserInfo, BaseMessageInfo, MessageBase
|
|
||||||
from .chat_stream import ChatStream
|
|
||||||
from src.common.logger import get_module_logger
|
from src.common.logger import get_module_logger
|
||||||
|
from .chat_stream import ChatStream
|
||||||
|
from .utils_image import image_manager
|
||||||
|
from ..message.message_base import Seg, UserInfo, BaseMessageInfo, MessageBase
|
||||||
|
|
||||||
logger = get_module_logger("chat_message")
|
logger = get_module_logger("chat_message")
|
||||||
|
|
||||||
@@ -207,7 +206,7 @@ class MessageProcessBase(Message):
|
|||||||
# 处理单个消息段
|
# 处理单个消息段
|
||||||
return await self._process_single_segment(segment)
|
return await self._process_single_segment(segment)
|
||||||
|
|
||||||
async def _process_single_segment(self, seg: Seg) -> str:
|
async def _process_single_segment(self, seg: Seg) -> Union[str, None]:
|
||||||
"""处理单个消息段
|
"""处理单个消息段
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
@@ -233,6 +232,7 @@ class MessageProcessBase(Message):
|
|||||||
elif seg.type == "reply":
|
elif seg.type == "reply":
|
||||||
if self.reply and hasattr(self.reply, "processed_plain_text"):
|
if self.reply and hasattr(self.reply, "processed_plain_text"):
|
||||||
return f"[回复:{self.reply.processed_plain_text}]"
|
return f"[回复:{self.reply.processed_plain_text}]"
|
||||||
|
return None
|
||||||
else:
|
else:
|
||||||
return f"[{seg.type}:{str(seg.data)}]"
|
return f"[{seg.type}:{str(seg.data)}]"
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import random
|
|||||||
import time
|
import time
|
||||||
import re
|
import re
|
||||||
from collections import Counter
|
from collections import Counter
|
||||||
from typing import Dict, List
|
from typing import Dict, List, Optional
|
||||||
|
|
||||||
import jieba
|
import jieba
|
||||||
import numpy as np
|
import numpy as np
|
||||||
@@ -688,7 +688,7 @@ def count_messages_between(start_time: float, end_time: float, stream_id: str) -
|
|||||||
return 0, 0
|
return 0, 0
|
||||||
|
|
||||||
|
|
||||||
def translate_timestamp_to_human_readable(timestamp: float, mode: str = "normal") -> str:
|
def translate_timestamp_to_human_readable(timestamp: float, mode: str = "normal") -> Optional[str]:
|
||||||
"""将时间戳转换为人类可读的时间格式
|
"""将时间戳转换为人类可读的时间格式
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
@@ -716,6 +716,7 @@ def translate_timestamp_to_human_readable(timestamp: float, mode: str = "normal"
|
|||||||
return f"{int(diff / 86400)}天前:\n"
|
return f"{int(diff / 86400)}天前:\n"
|
||||||
else:
|
else:
|
||||||
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp)) + ":\n"
|
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(timestamp)) + ":\n"
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
def parse_text_timestamps(text: str, mode: str = "normal") -> str:
|
def parse_text_timestamps(text: str, mode: str = "normal") -> str:
|
||||||
|
|||||||
@@ -1,25 +1,26 @@
|
|||||||
import time
|
import time
|
||||||
from random import random
|
|
||||||
import traceback
|
import traceback
|
||||||
from typing import List
|
from random import random
|
||||||
from ...memory_system.Hippocampus import HippocampusManager
|
from typing import List, Optional
|
||||||
from ...moods.moods import MoodManager
|
|
||||||
from ....config.config import global_config
|
from src.common.logger import get_module_logger, CHAT_STYLE_CONFIG, LogConfig
|
||||||
from ...chat.emoji_manager import emoji_manager
|
from src.plugins.respon_info_catcher.info_catcher import info_catcher_manager
|
||||||
from .reasoning_generator import ResponseGenerator
|
from .reasoning_generator import ResponseGenerator
|
||||||
|
from ...chat.chat_stream import chat_manager
|
||||||
|
from ...chat.emoji_manager import emoji_manager
|
||||||
from ...chat.message import MessageSending, MessageRecv, MessageThinking, MessageSet
|
from ...chat.message import MessageSending, MessageRecv, MessageThinking, MessageSet
|
||||||
|
from ...chat.message_buffer import message_buffer
|
||||||
from ...chat.messagesender import message_manager
|
from ...chat.messagesender import message_manager
|
||||||
from ...storage.storage import MessageStorage
|
|
||||||
from ...chat.utils import is_mentioned_bot_in_message
|
from ...chat.utils import is_mentioned_bot_in_message
|
||||||
from ...chat.utils_image import image_path_to_base64
|
from ...chat.utils_image import image_path_to_base64
|
||||||
from ...willing.willing_manager import willing_manager
|
from ...memory_system.Hippocampus import HippocampusManager
|
||||||
from ...message import UserInfo, Seg
|
from ...message import UserInfo, Seg
|
||||||
from src.common.logger import get_module_logger, CHAT_STYLE_CONFIG, LogConfig
|
from ...moods.moods import MoodManager
|
||||||
from ...chat.chat_stream import chat_manager
|
|
||||||
from ...person_info.relationship_manager import relationship_manager
|
from ...person_info.relationship_manager import relationship_manager
|
||||||
from ...chat.message_buffer import message_buffer
|
from ...storage.storage import MessageStorage
|
||||||
from src.plugins.respon_info_catcher.info_catcher import info_catcher_manager
|
|
||||||
from ...utils.timer_calculater import Timer
|
from ...utils.timer_calculater import Timer
|
||||||
|
from ...willing.willing_manager import willing_manager
|
||||||
|
from ....config.config import global_config
|
||||||
|
|
||||||
# 定义日志配置
|
# 定义日志配置
|
||||||
chat_config = LogConfig(
|
chat_config = LogConfig(
|
||||||
@@ -61,7 +62,7 @@ class ReasoningChat:
|
|||||||
return thinking_id
|
return thinking_id
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
async def _send_response_messages(message, chat, response_set: List[str], thinking_id) -> MessageSending:
|
async def _send_response_messages(message, chat, response_set: List[str], thinking_id) -> Optional[MessageSending]:
|
||||||
"""发送回复消息"""
|
"""发送回复消息"""
|
||||||
container = message_manager.get_container(chat.stream_id)
|
container = message_manager.get_container(chat.stream_id)
|
||||||
thinking_message = None
|
thinking_message = None
|
||||||
@@ -74,7 +75,7 @@ class ReasoningChat:
|
|||||||
|
|
||||||
if not thinking_message:
|
if not thinking_message:
|
||||||
logger.warning("未找到对应的思考消息,可能已超时被移除")
|
logger.warning("未找到对应的思考消息,可能已超时被移除")
|
||||||
return
|
return None
|
||||||
|
|
||||||
thinking_start_time = thinking_message.thinking_start_time
|
thinking_start_time = thinking_message.thinking_start_time
|
||||||
message_set = MessageSet(chat, thinking_id)
|
message_set = MessageSet(chat, thinking_id)
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ class Seg:
|
|||||||
- 对于 text 类型,data 是字符串
|
- 对于 text 类型,data 是字符串
|
||||||
- 对于 image 类型,data 是 base64 字符串
|
- 对于 image 类型,data 是 base64 字符串
|
||||||
- 对于 seglist 类型,data 是 Seg 列表
|
- 对于 seglist 类型,data 是 Seg 列表
|
||||||
translated_data: 经过翻译处理的数据(可选)
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
type: str
|
type: str
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ class PersonInfoManager:
|
|||||||
"""给某个用户取名"""
|
"""给某个用户取名"""
|
||||||
if not person_id:
|
if not person_id:
|
||||||
logger.debug("取名失败:person_id不能为空")
|
logger.debug("取名失败:person_id不能为空")
|
||||||
return
|
return None
|
||||||
|
|
||||||
old_name = await self.get_value(person_id, "person_name")
|
old_name = await self.get_value(person_id, "person_name")
|
||||||
old_reason = await self.get_value(person_id, "name_reason")
|
old_reason = await self.get_value(person_id, "name_reason")
|
||||||
|
|||||||
@@ -134,3 +134,4 @@ def main():
|
|||||||
heartbeat_thread.start()
|
heartbeat_thread.start()
|
||||||
|
|
||||||
return heartbeat_thread # 返回线程对象,便于外部控制
|
return heartbeat_thread # 返回线程对象,便于外部控制
|
||||||
|
return None
|
||||||
|
|||||||
Reference in New Issue
Block a user