|
@@ -60,6 +60,20 @@ class MessageType(int, Enum):
|
|
104: "进入人工介入状态"
|
|
104: "进入人工介入状态"
|
|
}[code]
|
|
}[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):
|
|
# class MessageChannel(Enum):
|
|
# CORP_WECHAT = (1, "企业微信")
|
|
# CORP_WECHAT = (1, "企业微信")
|
|
# MINI_PROGRAM = (2, "小程序")
|
|
# MINI_PROGRAM = (2, "小程序")
|