Browse Source

Add MqMessageType.from_str

StrayWarrior 3 weeks ago
parent
commit
7371230f90
1 changed files with 14 additions and 0 deletions
  1. 14 0
      pqai_agent/mq_message.py

+ 14 - 0
pqai_agent/mq_message.py

@@ -60,6 +60,20 @@ class MessageType(int, Enum):
             104: "进入人工介入状态"
         }[code]
 
+    @staticmethod
+    def from_str(type_str: str) -> 'MessageType':
+        """从字符串转换为MessageType"""
+        upper_str = type_str.upper()
+        if upper_str == 'IMAGE':
+            # IMAGE类型特殊处理
+            upper_str = 'IMAGE_QW'
+        elif upper_str == 'VIDEO':
+            upper_str = 'VIDEO_QW'
+        try:
+            return MessageType[upper_str]
+        except KeyError:
+            raise ValueError(f"Unknown message type: {type_str}")
+
 # class MessageChannel(Enum):
 #     CORP_WECHAT = (1, "企业微信")
 #     MINI_PROGRAM = (2, "小程序")