Skip to main content

事件

bot需要用各种事件监听器监听对应事件,可供监听的事件如下。

换言之,这里所展示的类,都是你可以用@bot.on(事件名)监听到的。比如
@bot.on(GroupRecallNoticeEvent)
async def _(event):
#在这里进行后续操作

这些代码修改自yiriob,如果你发现存在问题,请及时向我们反馈。

回复

class Reply(BaseModel):
time: int
message_type: str
message_id: int
real_id: int
sender: Sender
message: MessageChain

model_config = ConfigDict(extra="allow")

匿名

class Anonymous(BaseModel):
id: int
name: str
flag: str

model_config = ConfigDict(extra="allow")

文件上传

class File(BaseModel):
id: str
name: str
size: int
busid: int

model_config = ConfigDict(extra="allow")

状态

class Status(BaseModel):
online: bool
good: bool

model_config = ConfigDict(extra="allow")

lifecycleMetaEvent

class LifecycleMetaEvent(BaseModel):
time: int
sender: int
post_type: str
meta_event_type: str
sub_type: str

私聊消息

class PrivateMessageEvent(MessageEvent):
"""私聊消息"""

message_type: Literal["private"]

群聊消息

class GroupMessageEvent(MessageEvent):
"""群消息"""

message_type: Literal["group"]
group_id: int
anonymous: Optional[Anonymous] = None

群文件上传事件

class GroupUploadNoticeEvent(NoticeEvent):
"""群文件上传事件"""

notice_type: Literal["group_upload"]
user_id: int
group_id: int
file: File

群管理员变动

class GroupAdminNoticeEvent(NoticeEvent):
"""群管理员变动"""

notice_type: Literal["group_admin"]
sub_type: str
user_id: int
group_id: int

群成员减少事件

class GroupDecreaseNoticeEvent(NoticeEvent):
"""群成员减少事件"""

notice_type: Literal["group_decrease"]
sub_type: str
user_id: int
group_id: int
operator_id: int

群成员增加事件

class GroupIncreaseNoticeEvent(NoticeEvent):
"""群成员增加事件"""

notice_type: Literal["group_increase"]
sub_type: str
user_id: int
group_id: int
operator_id: int

群禁言事件

class GroupBanNoticeEvent(NoticeEvent):
"""群禁言事件"""

notice_type: Literal["group_ban"]
sub_type: str
user_id: int
group_id: int
operator_id: int
duration: int

好友添加事件

class FriendAddNoticeEvent(NoticeEvent):
"""好友添加事件"""

notice_type: Literal["friend_add"]
user_id: int

群消息撤回事件

class GroupRecallNoticeEvent(NoticeEvent):
"""群消息撤回事件"""

notice_type: Literal["group_recall"]
user_id: int
group_id: int
operator_id: int
message_id: int

好友消息撤回事件

class FriendRecallNoticeEvent(NoticeEvent):
"""好友消息撤回事件"""

notice_type: Literal["friend_recall"]
user_id: int
message_id: int

戳一戳提醒事件

class PokeNotifyEvent(NotifyEvent):
"""戳一戳提醒事件"""

sub_type: Literal["poke"]
target_id: int
group_id: Optional[int] = None
raw_info: list =None

群红包运气王提醒事件

class LuckyKingNotifyEvent(NotifyEvent):
"""群红包运气王提醒事件"""

sub_type: Literal["lucky_king"]
target_id: int

资料卡被赞事件

class ProfileLikeEvent(NotifyEvent):
sub_type: Literal["profile_like"]
operator_id: int
operator_nick: str
times: int

群荣誉变更提醒事件

class HonorNotifyEvent(NotifyEvent):
"""群荣誉变更提醒事件"""

sub_type: Literal["honor"]
honor_type: str

好友申请

class FriendRequestEvent(RequestEvent):
"""加好友请求事件"""

request_type: Literal["friend"]
user_id: int
flag: str
comment: Optional[str] = None

加群请求/邀请事件

class GroupRequestEvent(RequestEvent):
"""加群请求/邀请事件"""

request_type: Literal["group"]
sub_type: str
group_id: int
user_id: int
flag: str
comment: Optional[str] = None

生命周期事件

class LifecycleMetaEvent(MetaEvent):
"""生命周期元事件"""

meta_event_type: Literal["lifecycle"]
sub_type: str
class startUpMetaEvent(MetaEvent):
meta_event_type: Literal["startUp"]


class HeartbeatMetaEvent(MetaEvent):
"""心跳元事件"""

meta_event_type: Literal["heartbeat"]
status: Status
interval: int

__all__ = [
"MessageEvent",
"PrivateMessageEvent",
"GroupMessageEvent",
"NoticeEvent",
"GroupUploadNoticeEvent",
"GroupAdminNoticeEvent",
"GroupDecreaseNoticeEvent",
"GroupIncreaseNoticeEvent",
"GroupBanNoticeEvent",
"FriendAddNoticeEvent",
"GroupRecallNoticeEvent",
"FriendRecallNoticeEvent",
"NotifyEvent",
"PokeNotifyEvent",
"ProfileLikeEvent",
"LuckyKingNotifyEvent",
"HonorNotifyEvent",
"RequestEvent",
"FriendRequestEvent",
"GroupRequestEvent",
"MetaEvent",
"LifecycleMetaEvent",
"HeartbeatMetaEvent",
"startUpMetaEvent"
]