mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-09-15 00:16:40 +00:00
🚧 update messages
This commit is contained in:
@ -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):
|
||||
|
@ -19,7 +19,7 @@ class MessageSegment(BaseMessageSegment):
|
||||
super().__init__(type=type, data=data)
|
||||
|
||||
@overrides(BaseMessageSegment)
|
||||
def __str__(self):
|
||||
def __str__(self) -> str:
|
||||
type_ = self.type
|
||||
data = self.data.copy()
|
||||
|
||||
@ -37,6 +37,10 @@ class MessageSegment(BaseMessageSegment):
|
||||
def __add__(self, other) -> "Message":
|
||||
return Message(self) + other
|
||||
|
||||
@overrides(BaseMessageSegment)
|
||||
def is_text(self) -> bool:
|
||||
return self.type == "text"
|
||||
|
||||
@staticmethod
|
||||
def anonymous(ignore_failure: Optional[bool] = None) -> "MessageSegment":
|
||||
return MessageSegment("anonymous", {"ignore": _b2s(ignore_failure)})
|
||||
|
Reference in New Issue
Block a user