add message segment for coolq

This commit is contained in:
yanyongyu
2020-07-18 18:18:43 +08:00
parent 3dbd927a2a
commit 9355ed4baf
5 changed files with 277 additions and 34 deletions

View File

@ -29,7 +29,7 @@ class Event(dict):
"""
事件类型,有 ``message``、``notice``、``request``、``meta_event`` 等。
"""
return self['post_type']
return self["post_type"]
@property
def detail_type(self) -> str:
@ -37,7 +37,7 @@ class Event(dict):
事件具体类型,依 `type` 的不同而不同,以 ``message`` 类型为例,有
``private``、``group``、``discuss`` 等。
"""
return self[f'{self.type}_type']
return self[f"{self.type}_type"]
@property
def sub_type(self) -> Optional[str]:
@ -45,7 +45,7 @@ class Event(dict):
事件子类型,依 `detail_type` 不同而不同,以 ``message.private`` 为例,有
``friend``、``group``、``discuss``、``other`` 等。
"""
return self.get('sub_type')
return self.get("sub_type")
@property
def name(self):
@ -53,75 +53,75 @@ class Event(dict):
事件名,对于有 `sub_type` 的事件,为 ``{type}.{detail_type}.{sub_type}``,否则为
``{type}.{detail_type}``。
"""
n = self.type + '.' + self.detail_type
n = self.type + "." + self.detail_type
if self.sub_type:
n += '.' + self.sub_type
n += "." + self.sub_type
return n
@property
def self_id(self) -> int:
"""机器人自身 ID。"""
return self['self_id']
return self["self_id"]
@property
def user_id(self) -> Optional[int]:
"""用户 ID。"""
return self.get('user_id')
return self.get("user_id")
@property
def operator_id(self) -> Optional[int]:
"""操作者 ID。"""
return self.get('operator_id')
return self.get("operator_id")
@property
def group_id(self) -> Optional[int]:
"""群 ID。"""
return self.get('group_id')
return self.get("group_id")
@property
def discuss_id(self) -> Optional[int]:
"""讨论组 ID。"""
return self.get('discuss_id')
return self.get("discuss_id")
@property
def message_id(self) -> Optional[int]:
"""消息 ID。"""
return self.get('message_id')
return self.get("message_id")
@property
def message(self) -> Optional[Any]:
"""消息。"""
return self.get('message')
return self.get("message")
@property
def raw_message(self) -> Optional[str]:
"""未经 CQHTTP 处理的原始消息。"""
return self.get('raw_message')
return self.get("raw_message")
@property
def sender(self) -> Optional[Dict[str, Any]]:
"""消息发送者信息。"""
return self.get('sender')
return self.get("sender")
@property
def anonymous(self) -> Optional[Dict[str, Any]]:
"""匿名信息。"""
return self.get('anonymous')
return self.get("anonymous")
@property
def file(self) -> Optional[Dict[str, Any]]:
"""文件信息。"""
return self.get('file')
return self.get("file")
@property
def comment(self) -> Optional[str]:
"""请求验证消息。"""
return self.get('comment')
return self.get("comment")
@property
def flag(self) -> Optional[str]:
"""请求标识。"""
return self.get('flag')
return self.get("flag")
def __repr__(self) -> str:
return f'<Event, {super().__repr__()}>'
return f"<Event, {super().__repr__()}>"