ruff:
This commit is contained in:
@@ -7,25 +7,26 @@ if TYPE_CHECKING:
|
||||
|
||||
logger = get_module_logger("notification_handler")
|
||||
|
||||
|
||||
class PFCNotificationHandler(NotificationHandler):
|
||||
"""PFC通知处理器"""
|
||||
|
||||
def __init__(self, conversation: 'Conversation'):
|
||||
|
||||
def __init__(self, conversation: "Conversation"):
|
||||
"""初始化PFC通知处理器
|
||||
|
||||
|
||||
Args:
|
||||
conversation: 对话实例
|
||||
"""
|
||||
self.conversation = conversation
|
||||
|
||||
|
||||
async def handle_notification(self, notification: Notification):
|
||||
"""处理通知
|
||||
|
||||
|
||||
Args:
|
||||
notification: 通知对象
|
||||
"""
|
||||
logger.debug(f"收到通知: {notification.type.name}, 数据: {notification.data}")
|
||||
|
||||
|
||||
# 根据通知类型执行不同的处理
|
||||
if notification.type == NotificationType.NEW_MESSAGE:
|
||||
# 新消息通知
|
||||
@@ -38,34 +39,33 @@ class PFCNotificationHandler(NotificationHandler):
|
||||
await self._handle_command(notification)
|
||||
else:
|
||||
logger.warning(f"未知的通知类型: {notification.type.name}")
|
||||
|
||||
|
||||
async def _handle_new_message(self, notification: Notification):
|
||||
"""处理新消息通知
|
||||
|
||||
|
||||
Args:
|
||||
notification: 通知对象
|
||||
"""
|
||||
|
||||
|
||||
# 更新决策信息
|
||||
observation_info = self.conversation.observation_info
|
||||
observation_info.last_message_time = notification.data.get("time", 0)
|
||||
observation_info.add_unprocessed_message(notification.data)
|
||||
|
||||
|
||||
# 手动触发观察器更新
|
||||
self.conversation.chat_observer.trigger_update()
|
||||
|
||||
|
||||
async def _handle_cold_chat(self, notification: Notification):
|
||||
"""处理冷聊天通知
|
||||
|
||||
|
||||
Args:
|
||||
notification: 通知对象
|
||||
"""
|
||||
# 获取冷聊天信息
|
||||
cold_duration = notification.data.get("duration", 0)
|
||||
|
||||
|
||||
# 更新决策信息
|
||||
observation_info = self.conversation.observation_info
|
||||
observation_info.conversation_cold_duration = cold_duration
|
||||
|
||||
|
||||
logger.info(f"对话已冷: {cold_duration}秒")
|
||||
|
||||
Reference in New Issue
Block a user