mirror of
https://github.com/langbot-app/LangBot.git
synced 2025-11-25 11:29:39 +08:00
115 lines
2.2 KiB
Python
115 lines
2.2 KiB
Python
|
|
from typing import Dict, Any, Optional
|
|||
|
|
|
|||
|
|
class QQOfficialEvent(dict):
|
|||
|
|
@staticmethod
|
|||
|
|
def from_payload(payload: Dict[str, Any]) -> Optional["QQOfficialEvent"]:
|
|||
|
|
try:
|
|||
|
|
event = QQOfficialEvent(payload)
|
|||
|
|
return event
|
|||
|
|
except KeyError:
|
|||
|
|
return None
|
|||
|
|
|
|||
|
|
|
|||
|
|
@property
|
|||
|
|
def t(self) -> str:
|
|||
|
|
"""
|
|||
|
|
事件类型
|
|||
|
|
"""
|
|||
|
|
return self.get("t", "")
|
|||
|
|
|
|||
|
|
@property
|
|||
|
|
def user_openid(self) -> str:
|
|||
|
|
"""
|
|||
|
|
用户openid
|
|||
|
|
"""
|
|||
|
|
return self.get("user_openid",{})
|
|||
|
|
|
|||
|
|
@property
|
|||
|
|
def timestamp(self) -> str:
|
|||
|
|
"""
|
|||
|
|
时间戳
|
|||
|
|
"""
|
|||
|
|
return self.get("timestamp",{})
|
|||
|
|
|
|||
|
|
|
|||
|
|
@property
|
|||
|
|
def d_author_id(self) -> str:
|
|||
|
|
"""
|
|||
|
|
作者id
|
|||
|
|
"""
|
|||
|
|
return self.get("id",{})
|
|||
|
|
|
|||
|
|
@property
|
|||
|
|
def content(self) -> str:
|
|||
|
|
"""
|
|||
|
|
内容
|
|||
|
|
"""
|
|||
|
|
return self.get("content",'')
|
|||
|
|
|
|||
|
|
@property
|
|||
|
|
def d_id(self) -> str:
|
|||
|
|
"""
|
|||
|
|
d_id
|
|||
|
|
"""
|
|||
|
|
return self.get("d_id",{})
|
|||
|
|
|
|||
|
|
@property
|
|||
|
|
def id(self) -> str:
|
|||
|
|
"""
|
|||
|
|
消息id,msg_id
|
|||
|
|
"""
|
|||
|
|
return self.get("id",{})
|
|||
|
|
|
|||
|
|
@property
|
|||
|
|
def channel_id(self) -> str:
|
|||
|
|
"""
|
|||
|
|
频道id
|
|||
|
|
"""
|
|||
|
|
return self.get("channel_id",{})
|
|||
|
|
|
|||
|
|
@property
|
|||
|
|
def username(self) -> str:
|
|||
|
|
"""
|
|||
|
|
用户名
|
|||
|
|
"""
|
|||
|
|
return self.get("username",{})
|
|||
|
|
|
|||
|
|
@property
|
|||
|
|
def guild_id(self) -> str:
|
|||
|
|
"""
|
|||
|
|
频道id
|
|||
|
|
"""
|
|||
|
|
return self.get("guild_id",{})
|
|||
|
|
|
|||
|
|
@property
|
|||
|
|
def member_openid(self) -> str:
|
|||
|
|
"""
|
|||
|
|
成员openid
|
|||
|
|
"""
|
|||
|
|
return self.get("openid",{})
|
|||
|
|
|
|||
|
|
@property
|
|||
|
|
def attachments(self) -> str:
|
|||
|
|
"""
|
|||
|
|
附件url
|
|||
|
|
"""
|
|||
|
|
url = self.get("image_attachments", "")
|
|||
|
|
if url and not url.startswith("https://"):
|
|||
|
|
url = "https://" + url
|
|||
|
|
return url
|
|||
|
|
|
|||
|
|
@property
|
|||
|
|
def group_openid(self) -> str:
|
|||
|
|
"""
|
|||
|
|
群组id
|
|||
|
|
"""
|
|||
|
|
return self.get("group_openid",{})
|
|||
|
|
|
|||
|
|
@property
|
|||
|
|
def content_type(self) -> str:
|
|||
|
|
"""
|
|||
|
|
文件类型
|
|||
|
|
"""
|
|||
|
|
return self.get("content_type","")
|
|||
|
|
|