🚧 update messages

This commit is contained in:
yanyongyu
2020-12-10 02:13:25 +08:00
parent a57cd396fa
commit 72653c6116
6 changed files with 112 additions and 204 deletions

View File

@ -237,10 +237,18 @@ class CQHTTPEvent(Event):
def get_plaintext(self) -> str:
raise ValueError("Event has no message!")
@overrides(Event)
def get_user_id(self) -> str:
raise ValueError("Event has no message!")
@overrides(Event)
def get_session_id(self) -> str:
raise ValueError("Event has no message!")
@overrides(Event)
def is_tome(self) -> bool:
return False
# Models
class Sender(BaseModel):
@ -326,10 +334,18 @@ class MessageEvent(CQHTTPEvent):
def get_plaintext(self) -> str:
return self.message.extract_plain_text()
@overrides(CQHTTPEvent)
def get_user_id(self) -> str:
return str(self.user_id)
@overrides(CQHTTPEvent)
def get_session_id(self) -> str:
return str(self.user_id)
@overrides(CQHTTPEvent)
def is_tome(self) -> bool:
return self.to_me
class PrivateMessageEvent(MessageEvent):
__event__ = "message.private"
@ -340,7 +356,7 @@ class PrivateMessageEvent(MessageEvent):
return (f'Message {self.message_id} from {self.user_id} "' + "".join(
map(
lambda x: escape_tag(str(x))
if x.type == "text" else f"<le>{escape_tag(str(x))}</le>",
if x.is_text() else f"<le>{escape_tag(str(x))}</le>",
self.message)) + '"')
@ -357,7 +373,7 @@ class GroupMessageEvent(MessageEvent):
+ "".join(
map(
lambda x: escape_tag(str(x))
if x.type == "text" else f"<le>{escape_tag(str(x))}</le>",
if x.is_text() else f"<le>{escape_tag(str(x))}</le>",
self.message)) + '"')
@ -389,6 +405,10 @@ class GroupAdminNoticeEvent(NoticeEvent):
user_id: int
group_id: int
@overrides(CQHTTPEvent)
def is_tome(self) -> bool:
return self.user_id == self.self_id
class GroupDecreaseNoticeEvent(NoticeEvent):
__event__ = "notice.group_decrease"
@ -398,6 +418,10 @@ class GroupDecreaseNoticeEvent(NoticeEvent):
group_id: int
operator_id: int
@overrides(CQHTTPEvent)
def is_tome(self) -> bool:
return self.user_id == self.self_id
class GroupIncreaseNoticeEvent(NoticeEvent):
__event__ = "notice.group_increase"
@ -407,6 +431,10 @@ class GroupIncreaseNoticeEvent(NoticeEvent):
group_id: int
operator_id: int
@overrides(CQHTTPEvent)
def is_tome(self) -> bool:
return self.user_id == self.self_id
class GroupBanNoticeEvent(NoticeEvent):
__event__ = "notice.group_ban"
@ -417,6 +445,10 @@ class GroupBanNoticeEvent(NoticeEvent):
operator_id: int
duration: int
@overrides(CQHTTPEvent)
def is_tome(self) -> bool:
return self.user_id == self.self_id
class FriendAddNoticeEvent(NoticeEvent):
__event__ = "notice.friend_add"
@ -432,6 +464,10 @@ class GroupRecallNoticeEvent(NoticeEvent):
operator_id: int
message_id: int
@overrides(CQHTTPEvent)
def is_tome(self) -> bool:
return self.user_id == self.self_id
class FriendRecallNoticeEvent(NoticeEvent):
__event__ = "notice.friend_recall"
@ -453,18 +489,30 @@ class PokeNotifyEvent(NotifyEvent):
sub_type: Literal["poke"]
target_id: int
@overrides(CQHTTPEvent)
def is_tome(self) -> bool:
return self.target_id == self.self_id
class LuckyKingNotifyEvent(NotifyEvent):
__event__ = "notice.notify.lucky_king"
sub_type: Literal["lucky_king"]
target_id: int
@overrides(CQHTTPEvent)
def is_tome(self) -> bool:
return self.target_id == self.self_id
class HonorNotifyEvent(NotifyEvent):
__event__ = "notice.notify.honor"
sub_type: Literal["honor"]
honor_type: str
@overrides(CQHTTPEvent)
def is_tome(self) -> bool:
return self.user_id == self.self_id
# Request Events
class RequestEvent(CQHTTPEvent):