事件
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"
]