跳转至

mirai

Mirai 的各种事件

BotEvent 🔗

Bases: MiraiEvent

指示有关 Bot 本身的事件.

Source code in graia/ariadne/event/mirai.py
29
30
class BotEvent(MiraiEvent):
    """指示有关 Bot 本身的事件."""

BotGroupPermissionChangeEvent 🔗

Bases: GroupEvent, BotEvent

Bot 账号在一特定群组内所具有的权限发生变化

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Group (annotation): 发生该事件的群组
Source code in graia/ariadne/event/mirai.py
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
class BotGroupPermissionChangeEvent(GroupEvent, BotEvent):
    """Bot 账号在一特定群组内所具有的权限发生变化

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Group (annotation): 发生该事件的群组
    """

    type = "BotGroupPermissionChangeEvent"

    origin: MemberPerm
    """原始权限"""

    current: MemberPerm
    """当前权限"""

    group: Group
    """权限改变所在的群信息"""

    Dispatcher = GroupDispatcher

current class-attribute 🔗

current: MemberPerm

当前权限

group class-attribute 🔗

group: Group

权限改变所在的群信息

origin class-attribute 🔗

origin: MemberPerm

原始权限

BotInvitedJoinGroupRequestEvent 🔗

Bases: RequestEvent, BotEvent, GroupEvent

Bot 账号接受到来自某个账号的邀请加入某个群组的请求.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持

Ariadne (annotation): 发布事件的应用实例

事件拓展支持

该事件的处理需要你获取原始事件实例.

  1. 同意请求: await event.accept(), 具体查看该方法所附带的说明.
  2. 拒绝请求: await event.reject(), 具体查看该方法所附带的说明.
Source code in graia/ariadne/event/mirai.py
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
class BotInvitedJoinGroupRequestEvent(RequestEvent, BotEvent, GroupEvent):
    """Bot 账号接受到来自某个账号的邀请加入某个群组的请求.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        Ariadne (annotation): 发布事件的应用实例

    事件拓展支持:
        该事件的处理需要你获取原始事件实例.

        1. 同意请求: `await event.accept()`, 具体查看该方法所附带的说明.
        2. 拒绝请求: `await event.reject()`, 具体查看该方法所附带的说明.
    """

    type = "BotInvitedJoinGroupRequestEvent"

    request_id: int = Field(..., alias="eventId")
    """事件标识,响应该事件时的标识"""

    supplicant: int = Field(..., alias="fromId")
    """邀请人 (好友) 的QQ号"""

    nickname: str = Field(..., alias="nick")
    """申请人的昵称或群名片"""

    message: str
    """申请消息"""

    source_group: int = Field(..., alias="groupId")
    """被邀请进入群的群号"""

    group_name: str = Field(..., alias="groupName")
    """被邀请进入群的群名称"""

    async def accept(self, message: str = "") -> None:
        """接受邀请并加入群组/发起对指定群组的加入申请.

        Args:
            message (str, optional): 附带给对方的消息. 默认为 "".

        Raises:
            LookupError: 尝试上下文外处理事件.
            InvalidSession: 应用实例没准备好!

        Returns:
            None: 没有返回.
        """
        await self._operate(0, message)

    async def reject(self, message: str = "") -> None:
        """拒绝对方加入指定群组的邀请.

        Args:
            message (str, optional): 附带给对方的消息. 默认为 "".

        Raises:
            LookupError: 尝试上下文外处理事件.
            InvalidSession: 应用实例没准备好!

        Returns:
            None: 没有返回.
        """
        await self._operate(1, message)

group_name class-attribute 🔗

group_name: str = Field(Ellipsis, alias='groupName')

被邀请进入群的群名称

message class-attribute 🔗

message: str

申请消息

nickname class-attribute 🔗

nickname: str = Field(Ellipsis, alias='nick')

申请人的昵称或群名片

request_id class-attribute 🔗

request_id: int = Field(Ellipsis, alias='eventId')

事件标识,响应该事件时的标识

source_group class-attribute 🔗

source_group: int = Field(Ellipsis, alias='groupId')

被邀请进入群的群号

supplicant class-attribute 🔗

supplicant: int = Field(Ellipsis, alias='fromId')

邀请人 (好友) 的QQ号

accept async 🔗

accept(message: str = '') -> None

接受邀请并加入群组/发起对指定群组的加入申请.

Parameters:

  • message (str) –

    附带给对方的消息. 默认为 "".

Raises:

  • LookupError

    尝试上下文外处理事件.

  • InvalidSession

    应用实例没准备好!

Returns:

  • None( None ) –

    没有返回.

Source code in graia/ariadne/event/mirai.py
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
async def accept(self, message: str = "") -> None:
    """接受邀请并加入群组/发起对指定群组的加入申请.

    Args:
        message (str, optional): 附带给对方的消息. 默认为 "".

    Raises:
        LookupError: 尝试上下文外处理事件.
        InvalidSession: 应用实例没准备好!

    Returns:
        None: 没有返回.
    """
    await self._operate(0, message)

reject async 🔗

reject(message: str = '') -> None

拒绝对方加入指定群组的邀请.

Parameters:

  • message (str) –

    附带给对方的消息. 默认为 "".

Raises:

  • LookupError

    尝试上下文外处理事件.

  • InvalidSession

    应用实例没准备好!

Returns:

  • None( None ) –

    没有返回.

Source code in graia/ariadne/event/mirai.py
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
async def reject(self, message: str = "") -> None:
    """拒绝对方加入指定群组的邀请.

    Args:
        message (str, optional): 附带给对方的消息. 默认为 "".

    Raises:
        LookupError: 尝试上下文外处理事件.
        InvalidSession: 应用实例没准备好!

    Returns:
        None: 没有返回.
    """
    await self._operate(1, message)

BotJoinGroupEvent 🔗

Bases: GroupEvent, BotEvent

Bot 账号加入指定群组

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Group (annotation): 发生该事件的群组
  • Member (annotation, optional): 邀请者, 可以为 None
Source code in graia/ariadne/event/mirai.py
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
class BotJoinGroupEvent(GroupEvent, BotEvent):
    """Bot 账号加入指定群组

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Group (annotation): 发生该事件的群组
        - Member (annotation, optional): 邀请者, 可以为 None
    """

    type = "BotJoinGroupEvent"

    group: Group
    """Bot 新加入群的信息"""

    inviter: Optional[Member] = Field(..., alias="invitor")
    """如果被邀请入群则为邀请人的 Member 对象"""

    class Dispatcher(AbstractDispatcher):
        mixin = [GroupDispatcher]

        @staticmethod
        async def catch(interface: DispatcherInterface["BotJoinGroupEvent"]):
            if (inviter := interface.event.inviter) and generic_issubclass(Member, interface.annotation):
                return inviter

group class-attribute 🔗

group: Group

Bot 新加入群的信息

inviter class-attribute 🔗

inviter: Optional[Member] = Field(Ellipsis, alias='invitor')

如果被邀请入群则为邀请人的 Member 对象

BotLeaveEventActive 🔗

Bases: GroupEvent, BotEvent

Bot 账号主动退出了某群组.

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Group (annotation): 发生该事件的群组
Source code in graia/ariadne/event/mirai.py
272
273
274
275
276
277
278
279
280
281
282
283
284
285
class BotLeaveEventActive(GroupEvent, BotEvent):
    """Bot 账号主动退出了某群组.

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Group (annotation): 发生该事件的群组
    """

    type: str = "BotLeaveEventActive"

    group: Group
    """Bot 退出的群的信息"""

    Dispatcher = GroupDispatcher

group class-attribute 🔗

group: Group

Bot 退出的群的信息

BotLeaveEventDisband 🔗

Bases: GroupEvent, BotEvent

Bot 账号因群主解散群而退出某个群组.

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Group (annotation): 发生该事件的群组
  • Member (annotation): 操作者, 一定是群主.
Source code in graia/ariadne/event/mirai.py
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
class BotLeaveEventDisband(GroupEvent, BotEvent):
    """Bot 账号因群主解散群而退出某个群组.

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Group (annotation): 发生该事件的群组
        - Member (annotation): 操作者, 一定是群主.
    """

    type: str = "BotLeaveEventDisband"

    group: Group
    """Bot 退出的群的信息"""

    operator: Optional[Member]
    """操作员, 为群主"""

    class Dispatcher(BaseDispatcher):
        mixin = [GroupDispatcher, OperatorDispatcher]

group class-attribute 🔗

group: Group

Bot 退出的群的信息

operator class-attribute 🔗

operator: Optional[Member]

操作员, 为群主

BotLeaveEventKick 🔗

Bases: GroupEvent, BotEvent

Bot 账号被某群组的管理员/群主从该群组中删除.

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Group (annotation): 发生该事件的群组
  • Member (annotation): 操作者, 为群主或管理员.
Source code in graia/ariadne/event/mirai.py
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
class BotLeaveEventKick(GroupEvent, BotEvent):
    """Bot 账号被某群组的管理员/群主从该群组中删除.

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Group (annotation): 发生该事件的群组
        - Member (annotation): 操作者, 为群主或管理员.
    """

    type: str = "BotLeaveEventKick"

    group: Group
    """Bot 被踢出的群的信息"""

    operator: Optional[Member]
    """操作员, 为群主或管理员"""

    class Dispatcher(BaseDispatcher):
        mixin = [GroupDispatcher, OperatorDispatcher]

group class-attribute 🔗

group: Group

Bot 被踢出的群的信息

operator class-attribute 🔗

operator: Optional[Member]

操作员, 为群主或管理员

BotMuteEvent 🔗

Bases: GroupEvent, BotEvent

Bot 账号在一特定群组内被管理员/群主禁言

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Member (annotation): 执行禁言操作的管理员/群主
  • Group (annotation): 发生该事件的群组
Source code in graia/ariadne/event/mirai.py
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
class BotMuteEvent(GroupEvent, BotEvent):
    """Bot 账号在一特定群组内被管理员/群主禁言

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Member (annotation): 执行禁言操作的管理员/群主
        - Group (annotation): 发生该事件的群组
    """

    type = "BotMuteEvent"

    duration: int = Field(..., alias="durationSeconds")
    """禁言时长, 单位为秒"""

    operator: Member
    """执行禁言操作的管理员/群主"""

    Dispatcher = OperatorDispatcher

duration class-attribute 🔗

duration: int = Field(Ellipsis, alias='durationSeconds')

禁言时长, 单位为秒

operator class-attribute 🔗

operator: Member

执行禁言操作的管理员/群主

BotOfflineEventActive 🔗

Bases: BotEvent

Bot 账号主动离线

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
Source code in graia/ariadne/event/mirai.py
60
61
62
63
64
65
66
67
68
69
70
71
72
73
class BotOfflineEventActive(BotEvent):
    """Bot 账号主动离线

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
    """

    type = "BotOfflineEventActive"

    qq: int
    """主动离线的 Bot 的 QQ 号"""

qq class-attribute 🔗

qq: int

主动离线的 Bot 的 QQ 号

BotOfflineEventDropped 🔗

Bases: BotEvent

Bot 账号与服务器的连接被服务器主动断开, 或因网络原因离线

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
Source code in graia/ariadne/event/mirai.py
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
class BotOfflineEventDropped(BotEvent):
    """Bot 账号与服务器的连接被服务器主动断开, 或因网络原因离线

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
    """

    type = "BotOfflineEventDropped"

    qq: int
    """被服务器断开或因网络问题而掉线的 Bot 的 QQ 号"""

qq class-attribute 🔗

qq: int

被服务器断开或因网络问题而掉线的 Bot 的 QQ 号

BotOfflineEventForce 🔗

Bases: BotEvent

Bot 账号被迫离线

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
Source code in graia/ariadne/event/mirai.py
76
77
78
79
80
81
82
83
84
85
86
87
88
89
class BotOfflineEventForce(BotEvent):
    """Bot 账号被迫离线

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
    """

    type = "BotOfflineEventForce"

    qq: int
    """被挤下线的 Bot 的 QQ 号"""

qq class-attribute 🔗

qq: int

被挤下线的 Bot 的 QQ 号

BotOnlineEvent 🔗

Bases: BotEvent

Bot 账号登录成功

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
提示

只有使用 ReverseAdapter 时才有可能接受到此事件

Source code in graia/ariadne/event/mirai.py
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
class BotOnlineEvent(BotEvent):
    """Bot 账号登录成功

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例

    Note: 提示
        只有使用 ReverseAdapter 时才有可能接受到此事件
    """

    type = "BotOnlineEvent"

    qq: int
    """登录成功的 Bot 的 QQ 号"""

qq class-attribute 🔗

qq: int

登录成功的 Bot 的 QQ 号

BotReloginEvent 🔗

Bases: BotEvent

Bot 账号正尝试重新登录

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
Source code in graia/ariadne/event/mirai.py
108
109
110
111
112
113
114
115
116
117
118
119
120
121
class BotReloginEvent(BotEvent):
    """Bot 账号正尝试重新登录

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
    """

    type = "BotReloginEvent"

    qq: int
    """主动重新登录的 Bot 的 QQ 号"""

qq class-attribute 🔗

qq: int

主动重新登录的 Bot 的 QQ 号

BotUnmuteEvent 🔗

Bases: GroupEvent, BotEvent

Bot 账号在一特定群组内被管理员/群主解除禁言

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Member (annotation): 执行解除禁言操作的管理员/群主, 若为 None 则为 Bot 账号操作
  • Group (annotation): 发生该事件的群组
Source code in graia/ariadne/event/mirai.py
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
class BotUnmuteEvent(GroupEvent, BotEvent):
    """Bot 账号在一特定群组内被管理员/群主解除禁言

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Member (annotation): 执行解除禁言操作的管理员/群主, 若为 None 则为 Bot 账号操作
        - Group (annotation): 发生该事件的群组
    """

    type = "BotUnmuteEvent"

    operator: Member
    """操作的管理员或群主信息"""

    Dispatcher = OperatorDispatcher

operator class-attribute 🔗

operator: Member

操作的管理员或群主信息

ClientKind 🔗

Bases: int, Enum

详细设备类型。

Source code in graia/ariadne/event/mirai.py
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
class ClientKind(int, Enum):
    """详细设备类型。"""

    ANDROID_PAD = 68104
    AOL_CHAOJIHUIYUAN = 73730
    AOL_HUIYUAN = 73474
    AOL_SQQ = 69378
    CAR = 65806
    HRTX_IPHONE = 66566
    HRTX_PC = 66561
    MC_3G = 65795
    MISRO_MSG = 69634
    MOBILE_ANDROID = 65799
    MOBILE_ANDROID_NEW = 72450
    MOBILE_HD = 65805
    MOBILE_HD_NEW = 71426
    MOBILE_IPAD = 68361
    MOBILE_IPAD_NEW = 72194
    MOBILE_IPHONE = 67586
    MOBILE_OTHER = 65794
    MOBILE_PC_QQ = 65793
    MOBILE_PC_TIM = 77313
    MOBILE_WINPHONE_NEW = 72706
    QQ_FORELDER = 70922
    QQ_SERVICE = 71170
    TV_QQ = 69130
    WIN8 = 69899
    WINPHONE = 65804

CommandExecutedEvent 🔗

Bases: MiraiEvent

有一条命令被执行

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持

Ariadne (annotation): 发布事件的应用实例

Source code in graia/ariadne/event/mirai.py
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
class CommandExecutedEvent(MiraiEvent):
    """有一条命令被执行

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        Ariadne (annotation): 发布事件的应用实例
    """

    type = "CommandExecutedEvent"

    name: str
    """命令名称"""

    friend: Optional[Friend]
    """发送命令的好友, 从控制台发送为 None"""

    member: Optional[Member]
    """发送命令的群成员, 从控制台发送为 None"""

    args: List[Element]
    """指令的参数, 以消息元素类型传递"""

    def __init__(self, *args, **kwargs):
        if "args" in kwargs:
            kwargs["args"] = MessageChain.build_chain(kwargs["args"])
        super().__init__(*args, **kwargs)

args class-attribute 🔗

args: List[Element]

指令的参数, 以消息元素类型传递

friend class-attribute 🔗

friend: Optional[Friend]

发送命令的好友, 从控制台发送为 None

member class-attribute 🔗

member: Optional[Member]

发送命令的群成员, 从控制台发送为 None

name class-attribute 🔗

name: str

命令名称

FriendEvent 🔗

Bases: MiraiEvent

指示有关好友的事件

Source code in graia/ariadne/event/mirai.py
33
34
class FriendEvent(MiraiEvent):
    """指示有关好友的事件"""

FriendInputStatusChangedEvent 🔗

Bases: FriendEvent

Bot 账号的某一好友输入状态改变.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
Source code in graia/ariadne/event/mirai.py
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
class FriendInputStatusChangedEvent(FriendEvent):
    """Bot 账号的某一好友输入状态改变.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
    """

    type = "FriendInputStatusChangedEvent"

    friend: Friend
    """好友信息"""

    inputting: bool
    """是否正在输入"""

    Dispatcher = FriendDispatcher

friend class-attribute 🔗

friend: Friend

好友信息

inputting class-attribute 🔗

inputting: bool

是否正在输入

FriendNickChangedEvent 🔗

Bases: FriendEvent

Bot 账号的某一好友更改了昵称.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Friend (annotation): 更改名称的好友
Source code in graia/ariadne/event/mirai.py
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
class FriendNickChangedEvent(FriendEvent):
    """Bot 账号的某一好友更改了昵称.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Friend (annotation): 更改名称的好友
    """

    type = "FriendNickChangedEvent"

    friend: Friend
    """好友信息"""

    from_name: str = Field(..., alias="from")
    """原昵称"""

    to_name: str = Field(..., alias="to")
    """新昵称"""

    Dispatcher = FriendDispatcher

    @root_validator
    def _(cls, values: Dict[str, Any]):
        values["friend"].nickname = values["to_name"]
        return values

friend class-attribute 🔗

friend: Friend

好友信息

from_name class-attribute 🔗

from_name: str = Field(Ellipsis, alias='from')

原昵称

to_name class-attribute 🔗

to_name: str = Field(Ellipsis, alias='to')

新昵称

FriendRecallEvent 🔗

Bases: FriendEvent

有一位与 Bot 账号为好友关系的用户撤回了一条消息

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
Source code in graia/ariadne/event/mirai.py
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
class FriendRecallEvent(FriendEvent):
    """有一位与 Bot 账号为好友关系的用户撤回了一条消息

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
    """

    type = "FriendRecallEvent"

    author_id: int = Field(..., alias="authorId")
    """原消息发送者的 QQ 号"""

    message_id: int = Field(..., alias="messageId")
    """原消息的 ID"""

    time: datetime
    """原消息发送时间"""

    operator: int
    """撤回消息者的 QQ 号"""

author_id class-attribute 🔗

author_id: int = Field(Ellipsis, alias='authorId')

原消息发送者的 QQ 号

message_id class-attribute 🔗

message_id: int = Field(Ellipsis, alias='messageId')

原消息的 ID

operator class-attribute 🔗

operator: int

撤回消息者的 QQ 号

time class-attribute 🔗

time: datetime

原消息发送时间

GroupAllowAnonymousChatEvent 🔗

Bases: GroupEvent

有一群组修改了有关匿名聊天的相关设定

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Group (annotation): 修改了相关设定的群组
  • Member (annotation, optional = None): 作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作
Source code in graia/ariadne/event/mirai.py
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
class GroupAllowAnonymousChatEvent(GroupEvent):
    """有一群组修改了有关匿名聊天的相关设定

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Group (annotation): 修改了相关设定的群组
        - Member (annotation, optional = None): 作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作
    """

    type = "GroupAllowAnonymousChatEvent"

    origin: bool
    """原始设定"""

    current: bool
    """当前设定"""

    group: Group
    """修改了相关设定的群组"""

    operator: Optional[Member]
    """作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作"""

    class Dispatcher(BaseDispatcher):
        mixin = [GroupDispatcher, OperatorDispatcher]

current class-attribute 🔗

current: bool

当前设定

group class-attribute 🔗

group: Group

修改了相关设定的群组

operator class-attribute 🔗

operator: Optional[Member]

作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作

origin class-attribute 🔗

origin: bool

原始设定

GroupAllowConfessTalkEvent 🔗

Bases: GroupEvent

有一群组修改了有关坦白说的相关设定

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Group (annotation): 修改了相关设定的群组
  • Member (annotation, optional = None): 作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作
Source code in graia/ariadne/event/mirai.py
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
class GroupAllowConfessTalkEvent(GroupEvent):
    """有一群组修改了有关坦白说的相关设定

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Group (annotation): 修改了相关设定的群组
        - Member (annotation, optional = None): 作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作
    """

    type = "GroupAllowConfessTalkEvent"

    origin: bool
    """原始设定"""

    current: bool
    """当前设定"""

    group: Group
    """修改了相关设定的群组"""

    operator: Optional[Member]
    """作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作"""

    class Dispatcher(BaseDispatcher):
        mixin = [GroupDispatcher, OperatorDispatcher]

current class-attribute 🔗

current: bool

当前设定

group class-attribute 🔗

group: Group

修改了相关设定的群组

operator class-attribute 🔗

operator: Optional[Member]

作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作

origin class-attribute 🔗

origin: bool

原始设定

GroupAllowMemberInviteEvent 🔗

Bases: GroupEvent

有一群组修改了有关是否允许已有成员邀请其他用户加入群组的相关设定

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Group (annotation): 修改了相关设定的群组
  • Member (annotation, optional = None): 作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作
Source code in graia/ariadne/event/mirai.py
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
class GroupAllowMemberInviteEvent(GroupEvent):
    """有一群组修改了有关是否允许已有成员邀请其他用户加入群组的相关设定

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Group (annotation): 修改了相关设定的群组
        - Member (annotation, optional = None): 作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作
    """

    type = "GroupAllowMemberInviteEvent"

    origin: bool
    """原始设定"""

    current: bool
    """当前设定"""

    group: Group
    """修改了相关设定的群组"""

    operator: Optional[Member]
    """作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作"""

    class Dispatcher(BaseDispatcher):
        mixin = [GroupDispatcher, OperatorDispatcher]

current class-attribute 🔗

current: bool

当前设定

group class-attribute 🔗

group: Group

修改了相关设定的群组

operator class-attribute 🔗

operator: Optional[Member]

作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作

origin class-attribute 🔗

origin: bool

原始设定

GroupEntranceAnnouncementChangeEvent 🔗

Bases: GroupEvent

有一群组被修改了入群公告

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Group (annotation): 被修改了入群公告的群组
  • Member (annotation, optional): 作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作
Source code in graia/ariadne/event/mirai.py
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
class GroupEntranceAnnouncementChangeEvent(GroupEvent):
    """有一群组被修改了入群公告

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Group (annotation): 被修改了入群公告的群组
        - Member (annotation, optional): 作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作
    """

    type = "GroupEntranceAnnouncementChangeEvent"

    origin: str
    """原始设定"""

    current: str
    """当前设定"""

    group: Group
    """修改了相关设定的群组"""

    operator: Optional[Member]
    """作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作"""

    class Dispatcher(BaseDispatcher):
        mixin = [GroupDispatcher, OperatorDispatcher]

current class-attribute 🔗

current: str

当前设定

group class-attribute 🔗

group: Group

修改了相关设定的群组

operator class-attribute 🔗

operator: Optional[Member]

作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作

origin class-attribute 🔗

origin: str

原始设定

GroupEvent 🔗

Bases: MiraiEvent

指示有关群组的事件.

Source code in graia/ariadne/event/mirai.py
37
38
class GroupEvent(MiraiEvent):
    """指示有关群组的事件."""

GroupMuteAllEvent 🔗

Bases: GroupEvent

有一群组开启了全体禁言

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Group (annotation): 开启了全体禁言的群组
  • Member (annotation, optional): 作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作
Source code in graia/ariadne/event/mirai.py
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
class GroupMuteAllEvent(GroupEvent):
    """有一群组开启了全体禁言

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Group (annotation): 开启了全体禁言的群组
        - Member (annotation, optional): 作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作
    """

    type = "GroupMuteAllEvent"

    origin: bool
    """原始设定"""

    current: bool
    """当前设定"""

    group: Group
    """修改了相关设定的群组"""

    operator: Optional[Member]
    """作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作"""

    class Dispatcher(BaseDispatcher):
        mixin = [GroupDispatcher, OperatorDispatcher]

current class-attribute 🔗

current: bool

当前设定

group class-attribute 🔗

group: Group

修改了相关设定的群组

operator class-attribute 🔗

operator: Optional[Member]

作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作

origin class-attribute 🔗

origin: bool

原始设定

GroupNameChangeEvent 🔗

Bases: GroupEvent

有一群组被修改了群名称

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Group (annotation): 被修改了群名称的群组
  • Member (annotation): 更改群名称的成员, 权限必定为管理员或是群主
Source code in graia/ariadne/event/mirai.py
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
class GroupNameChangeEvent(GroupEvent):
    """有一群组被修改了群名称

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Group (annotation): 被修改了群名称的群组
        - Member (annotation): 更改群名称的成员, 权限必定为管理员或是群主
    """

    type = "GroupNameChangeEvent"

    origin: str
    """原始设定"""

    current: str
    """当前设定"""

    group: Group
    """修改了相关设定的群组"""

    operator: Optional[Member]
    """作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作"""

    class Dispatcher(BaseDispatcher):
        mixin = [GroupDispatcher, OperatorDispatcher]

current class-attribute 🔗

current: str

当前设定

group class-attribute 🔗

group: Group

修改了相关设定的群组

operator class-attribute 🔗

operator: Optional[Member]

作出此操作的管理员/群主, 若为 None 则为 Bot 账号操作

origin class-attribute 🔗

origin: str

原始设定

GroupRecallEvent 🔗

Bases: GroupEvent

有群成员在指定群组撤回了一条消息, 注意, 这里的群成员若具有管理员/群主权限, 则他们可以撤回其他普通群员的消息, 且不受发出时间限制.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Member (annotation, optional): 执行本操作的群成员, 若为 None 则为 Bot 账号操作
  • Group (annotation): 发生该事件的群组
Source code in graia/ariadne/event/mirai.py
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
class GroupRecallEvent(GroupEvent):
    """有群成员在指定群组撤回了一条消息, 注意, 这里的群成员若具有管理员/群主权限, 则他们可以撤回其他普通群员的消息, 且不受发出时间限制.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Member (annotation, optional): 执行本操作的群成员, 若为 None 则为 Bot 账号操作
        - Group (annotation): 发生该事件的群组
    """

    type = "GroupRecallEvent"

    author_id: int = Field(..., alias="authorId")
    """原消息发送者的 QQ 号"""

    message_id: int = Field(..., alias="messageId")
    """原消息的 ID"""

    time: datetime
    """原消息发送时间"""

    group: Group
    """消息撤回所在的群"""

    operator: Optional[Member]
    """撤回消息的群成员, 若为 None 则为 Bot 账号操作"""

    class Dispatcher(BaseDispatcher):
        mixin = [GroupDispatcher, OperatorDispatcher]

author_id class-attribute 🔗

author_id: int = Field(Ellipsis, alias='authorId')

原消息发送者的 QQ 号

group class-attribute 🔗

group: Group

消息撤回所在的群

message_id class-attribute 🔗

message_id: int = Field(Ellipsis, alias='messageId')

原消息的 ID

operator class-attribute 🔗

operator: Optional[Member]

撤回消息的群成员, 若为 None 则为 Bot 账号操作

time class-attribute 🔗

time: datetime

原消息发送时间

MemberCardChangeEvent 🔗

Bases: GroupEvent

有一群组成员的群名片被更改, 执行者可能是管理员/群主, 该成员自己, 也可能是 Bot 账号(这时, operatorNone).

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持

Ariadne (annotation): 发布事件的应用实例 Group (annotation): 发生该事件的群组 Member (annotation): - "target" (default, const, str): 被更改群名片的成员 - "operator" (default, const, Optional[str]): 该操作的执行者, 可能是管理员/群主, 该成员自己, 也可能是 Bot 账号(这时, operatorNone).

Source code in graia/ariadne/event/mirai.py
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
class MemberCardChangeEvent(GroupEvent):
    """有一群组成员的群名片被更改, 执行者可能是管理员/群主, 该成员自己, 也可能是 Bot 账号(这时, `operator` 为 `None`).

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        Ariadne (annotation): 发布事件的应用实例
        Group (annotation): 发生该事件的群组
        Member (annotation):
          - `"target"` (default, const, str): 被更改群名片的成员
          - `"operator"` (default, const, Optional[str]): 该操作的执行者, 可能是管理员/群主, 该成员自己,
          也可能是 Bot 账号(这时, `operator` 为 `None`).
    """

    type = "MemberCardChangeEvent"

    origin: str
    """原始群名片"""

    current: str
    """现在的群名片"""

    member: Member
    """被更改群名片的成员"""

    operator: Optional[Member]
    """更改群名片的操作者, 可能是管理员/群主, 该成员自己, 也可能是 Bot 账号(这时, `operator` 为 `None`)."""

    Dispatcher = OperatorMemberDispatcher

current class-attribute 🔗

current: str

现在的群名片

member class-attribute 🔗

member: Member

被更改群名片的成员

operator class-attribute 🔗

operator: Optional[Member]

更改群名片的操作者, 可能是管理员/群主, 该成员自己, 也可能是 Bot 账号(这时, operatorNone).

origin class-attribute 🔗

origin: str

原始群名片

MemberHonorChangeEvent 🔗

Bases: GroupEvent

有一群组成员获得/失去了某个荣誉.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持

Ariadne (annotation): 发布事件的应用实例 Group (annotation): 发生该事件的群组 Member (annotation): 获得/失去荣誉的成员

Source code in graia/ariadne/event/mirai.py
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
class MemberHonorChangeEvent(GroupEvent):
    """有一群组成员获得/失去了某个荣誉.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        Ariadne (annotation): 发布事件的应用实例
        Group (annotation): 发生该事件的群组
        Member (annotation): 获得/失去荣誉的成员
    """

    type = "MemberHonorChangeEvent"

    member: Member
    """获得/失去荣誉的成员"""

    action: str
    """对应的操作, 可能是 `"achieve"` 或 `"lose"`"""

    honor: str
    """获得/失去的荣誉"""

    Dispatcher = MemberDispatcher

action class-attribute 🔗

action: str

对应的操作, 可能是 "achieve""lose"

honor class-attribute 🔗

honor: str

获得/失去的荣誉

member class-attribute 🔗

member: Member

获得/失去荣誉的成员

MemberJoinEvent 🔗

Bases: GroupEvent

有一新成员加入了一特定群组

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
  • Group (annotation): 该用户加入的群组
  • Member (annotation): 关于该用户的成员实例
Source code in graia/ariadne/event/mirai.py
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
class MemberJoinEvent(GroupEvent):
    """有一新成员加入了一特定群组

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
        - Group (annotation): 该用户加入的群组
        - Member (annotation): 关于该用户的成员实例
    """

    type = "MemberJoinEvent"
    member: Member
    """加入的成员"""

    inviter: Optional[Member] = Field(..., alias="invitor")
    """邀请该成员的成员, 可为 None"""

    class Dispatcher(AbstractDispatcher):
        mixin = [MemberDispatcher]

        @staticmethod
        async def catch(interface: DispatcherInterface["MemberJoinEvent"]):
            if interface.name == "inviter" and generic_issubclass(Member, interface.annotation):
                return interface.event.inviter

inviter class-attribute 🔗

inviter: Optional[Member] = Field(Ellipsis, alias='invitor')

邀请该成员的成员, 可为 None

member class-attribute 🔗

member: Member

加入的成员

MemberJoinRequestEvent 🔗

Bases: RequestEvent, GroupEvent

有一用户向机器人作为管理员/群主的群组申请加入群组.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持

Ariadne (annotation): 发布事件的应用实例

事件拓展支持

该事件的处理需要你获取原始事件实例.

  1. 同意请求: await event.accept(), 具体查看该方法所附带的说明.
  2. 拒绝请求: await event.reject(), 具体查看该方法所附带的说明.
  3. 忽略请求: await event.ignore(), 具体查看该方法所附带的说明.
  4. 拒绝并不再接受来自对方的请求: await event.rejectAndBlock(), 具体查看该方法所附带的说明.
  5. 忽略并不再接受来自对方的请求: await event.ignoreAndBlock(), 具体查看该方法所附带的说明.
Source code in graia/ariadne/event/mirai.py
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
class MemberJoinRequestEvent(RequestEvent, GroupEvent):
    """有一用户向机器人作为管理员/群主的群组申请加入群组.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        Ariadne (annotation): 发布事件的应用实例

    事件拓展支持:
        该事件的处理需要你获取原始事件实例.

        1. 同意请求: `await event.accept()`, 具体查看该方法所附带的说明.
        2. 拒绝请求: `await event.reject()`, 具体查看该方法所附带的说明.
        3. 忽略请求: `await event.ignore()`, 具体查看该方法所附带的说明.
        4. 拒绝并不再接受来自对方的请求: `await event.rejectAndBlock()`, 具体查看该方法所附带的说明.
        5. 忽略并不再接受来自对方的请求: `await event.ignoreAndBlock()`, 具体查看该方法所附带的说明.
    """

    type = "MemberJoinRequestEvent"

    request_id: int = Field(..., alias="eventId")
    """事件标识,响应该事件时的标识"""

    supplicant: int = Field(..., alias="fromId")
    """申请人QQ号"""

    nickname: str = Field(..., alias="nick")
    """申请人的昵称或群名片"""

    message: str
    """申请消息"""

    source_group: int = Field(..., alias="groupId")
    """申请人申请入群的群号"""

    group_name: str = Field(..., alias="groupName")
    """申请人申请入群的群名称"""

    async def accept(self, message: str = "") -> None:
        """同意对方加入群组.

        Args:
            message (str, optional): 附带给对方的消息. 默认为 "".

        Raises:
            LookupError: 尝试上下文外处理事件.
            InvalidSession: 应用实例没准备好!

        Returns:
            None: 没有返回.
        """
        await self._operate(0, message)

    async def reject(self, message: str = "") -> None:
        """拒绝对方加入群组.

        Args:
            message (str, optional): 附带给对方的消息. 默认为 "".

        Raises:
            LookupError: 尝试上下文外处理事件.
            InvalidSession: 应用实例没准备好!

        Returns:
            None: 没有返回.
        """
        await self._operate(1, message)

    async def ignore(self, message: str = "") -> None:
        """忽略对方加入群组的请求.

        Args:
            message (str, optional): 附带给对方的消息. 默认为 "".

        Raises:
            LookupError: 尝试上下文外处理事件.
            InvalidSession: 应用实例没准备好!

        Returns:
            None: 没有返回.
        """
        await self._operate(2, message)

    async def reject_and_block(self, message: str = "") -> None:
        """拒绝对方加入群组的请求, 并不再接受来自对方加入群组的请求.

        Args:
            message (str, optional): 附带给对方的消息. 默认为 "".

        Raises:
            LookupError: 尝试上下文外处理事件.
            InvalidSession: 应用实例没准备好!

        Returns:
            None: 没有返回.
        """
        await self._operate(3, message)

    async def ignore_and_block(self, message: str = "") -> None:
        """忽略对方加入群组的请求, 并不再接受来自对方加入群组的请求.

        Args:
            message (str, optional): 附带给对方的消息. 默认为 "".

        Raises:
            LookupError: 尝试上下文外处理事件.
            InvalidSession: 应用实例没准备好!

        Returns:
            None: 没有返回.
        """
        await self._operate(4, message)

group_name class-attribute 🔗

group_name: str = Field(Ellipsis, alias='groupName')

申请人申请入群的群名称

message class-attribute 🔗

message: str

申请消息

nickname class-attribute 🔗

nickname: str = Field(Ellipsis, alias='nick')

申请人的昵称或群名片

request_id class-attribute 🔗

request_id: int = Field(Ellipsis, alias='eventId')

事件标识,响应该事件时的标识

source_group class-attribute 🔗

source_group: int = Field(Ellipsis, alias='groupId')

申请人申请入群的群号

supplicant class-attribute 🔗

supplicant: int = Field(Ellipsis, alias='fromId')

申请人QQ号

accept async 🔗

accept(message: str = '') -> None

同意对方加入群组.

Parameters:

  • message (str) –

    附带给对方的消息. 默认为 "".

Raises:

  • LookupError

    尝试上下文外处理事件.

  • InvalidSession

    应用实例没准备好!

Returns:

  • None( None ) –

    没有返回.

Source code in graia/ariadne/event/mirai.py
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
async def accept(self, message: str = "") -> None:
    """同意对方加入群组.

    Args:
        message (str, optional): 附带给对方的消息. 默认为 "".

    Raises:
        LookupError: 尝试上下文外处理事件.
        InvalidSession: 应用实例没准备好!

    Returns:
        None: 没有返回.
    """
    await self._operate(0, message)

ignore async 🔗

ignore(message: str = '') -> None

忽略对方加入群组的请求.

Parameters:

  • message (str) –

    附带给对方的消息. 默认为 "".

Raises:

  • LookupError

    尝试上下文外处理事件.

  • InvalidSession

    应用实例没准备好!

Returns:

  • None( None ) –

    没有返回.

Source code in graia/ariadne/event/mirai.py
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
async def ignore(self, message: str = "") -> None:
    """忽略对方加入群组的请求.

    Args:
        message (str, optional): 附带给对方的消息. 默认为 "".

    Raises:
        LookupError: 尝试上下文外处理事件.
        InvalidSession: 应用实例没准备好!

    Returns:
        None: 没有返回.
    """
    await self._operate(2, message)

ignore_and_block async 🔗

ignore_and_block(message: str = '') -> None

忽略对方加入群组的请求, 并不再接受来自对方加入群组的请求.

Parameters:

  • message (str) –

    附带给对方的消息. 默认为 "".

Raises:

  • LookupError

    尝试上下文外处理事件.

  • InvalidSession

    应用实例没准备好!

Returns:

  • None( None ) –

    没有返回.

Source code in graia/ariadne/event/mirai.py
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
async def ignore_and_block(self, message: str = "") -> None:
    """忽略对方加入群组的请求, 并不再接受来自对方加入群组的请求.

    Args:
        message (str, optional): 附带给对方的消息. 默认为 "".

    Raises:
        LookupError: 尝试上下文外处理事件.
        InvalidSession: 应用实例没准备好!

    Returns:
        None: 没有返回.
    """
    await self._operate(4, message)

reject async 🔗

reject(message: str = '') -> None

拒绝对方加入群组.

Parameters:

  • message (str) –

    附带给对方的消息. 默认为 "".

Raises:

  • LookupError

    尝试上下文外处理事件.

  • InvalidSession

    应用实例没准备好!

Returns:

  • None( None ) –

    没有返回.

Source code in graia/ariadne/event/mirai.py
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
async def reject(self, message: str = "") -> None:
    """拒绝对方加入群组.

    Args:
        message (str, optional): 附带给对方的消息. 默认为 "".

    Raises:
        LookupError: 尝试上下文外处理事件.
        InvalidSession: 应用实例没准备好!

    Returns:
        None: 没有返回.
    """
    await self._operate(1, message)

reject_and_block async 🔗

reject_and_block(message: str = '') -> None

拒绝对方加入群组的请求, 并不再接受来自对方加入群组的请求.

Parameters:

  • message (str) –

    附带给对方的消息. 默认为 "".

Raises:

  • LookupError

    尝试上下文外处理事件.

  • InvalidSession

    应用实例没准备好!

Returns:

  • None( None ) –

    没有返回.

Source code in graia/ariadne/event/mirai.py
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
async def reject_and_block(self, message: str = "") -> None:
    """拒绝对方加入群组的请求, 并不再接受来自对方加入群组的请求.

    Args:
        message (str, optional): 附带给对方的消息. 默认为 "".

    Raises:
        LookupError: 尝试上下文外处理事件.
        InvalidSession: 应用实例没准备好!

    Returns:
        None: 没有返回.
    """
    await self._operate(3, message)

MemberLeaveEventKick 🔗

Bases: GroupEvent

有一群组成员被管理员/群主从群组中删除, 当 operatorNone 时, 执行者为 Bot 账号.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持

Ariadne (annotation): 发布事件的应用实例 Group (annotation): 指定的群组 Member (annotation): - "target" (default, const, str): 被从群组删除的成员 - "operator" (default, const, str, optional = None): 执行了该操作的管理员/群主, 也可能是 Bot 账号.

Source code in graia/ariadne/event/mirai.py
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
class MemberLeaveEventKick(GroupEvent):
    """有一群组成员被管理员/群主从群组中删除, 当 `operator` 为 `None` 时, 执行者为 Bot 账号.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        Ariadne (annotation): 发布事件的应用实例
        Group (annotation): 指定的群组
        Member (annotation):
          - `"target"` (default, const, str): 被从群组删除的成员
          - `"operator"` (default, const, str, optional = None): 执行了该操作的管理员/群主, 也可能是 Bot 账号.
    """

    type = "MemberLeaveEventKick"

    member: Member
    """被从群组删除的成员"""

    operator: Optional[Member]
    """执行了该操作的管理员/群主, 也可能是 Bot 账号"""

    Dispatcher = OperatorMemberDispatcher

member class-attribute 🔗

member: Member

被从群组删除的成员

operator class-attribute 🔗

operator: Optional[Member]

执行了该操作的管理员/群主, 也可能是 Bot 账号

MemberLeaveEventQuit 🔗

Bases: GroupEvent

有一群组成员主动退出群组.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持

Ariadne (annotation): 发布事件的应用实例 Group (annotation): 发生本事件的群组, 通常的, 在本事件发生后本群组成员数量少于之前 Member (annotation): 主动退出群组的成员

Source code in graia/ariadne/event/mirai.py
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
class MemberLeaveEventQuit(GroupEvent):
    """有一群组成员主动退出群组.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        Ariadne (annotation): 发布事件的应用实例
        Group (annotation): 发生本事件的群组, 通常的, 在本事件发生后本群组成员数量少于之前
        Member (annotation): 主动退出群组的成员
    """

    type = "MemberLeaveEventQuit"

    member: Member
    """主动退出群组的成员"""

    Dispatcher = MemberDispatcher

member class-attribute 🔗

member: Member

主动退出群组的成员

MemberMuteEvent 🔗

Bases: GroupEvent

有一群组成员被管理员/群组禁言, 当 operatorNone 时为 Bot 账号操作.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持

Ariadne (annotation): 发布事件的应用实例 Group (annotation): 发生该事件的群组 Member (annotation): - "target" (default, const, str): 被禁言的成员 - "operator" (default, const, str, optional = None): 该操作的执行者, 也可能是 Bot 账号.

默认返回 target.

Source code in graia/ariadne/event/mirai.py
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
class MemberMuteEvent(GroupEvent):
    """有一群组成员被管理员/群组禁言, 当 `operator` 为 `None` 时为 Bot 账号操作.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        Ariadne (annotation): 发布事件的应用实例
        Group (annotation): 发生该事件的群组
        Member (annotation):
          - `"target"` (default, const, str): 被禁言的成员
          - `"operator"` (default, const, str, optional = None): 该操作的执行者, 也可能是 Bot 账号.

          默认返回 `target`.
    """

    type = "MemberMuteEvent"
    duration: int = Field(..., alias="durationSeconds")
    """禁言时长, 单位为秒"""

    member: Member
    """被禁言的成员"""

    operator: Optional[Member]
    """该操作的执行者, 也可能是 Bot 账号"""

    Dispatcher = OperatorMemberDispatcher

duration class-attribute 🔗

duration: int = Field(Ellipsis, alias='durationSeconds')

禁言时长, 单位为秒

member class-attribute 🔗

member: Member

被禁言的成员

operator class-attribute 🔗

operator: Optional[Member]

该操作的执行者, 也可能是 Bot 账号

MemberPermissionChangeEvent 🔗

Bases: GroupEvent

有一群组成员的权限被更改/调整, 执行者只可能是群组的群主.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持

Ariadne (annotation): 发布事件的应用实例 Group (annotation): 发生该事件的群组 Member (annotation): 被调整权限的群组成员

Source code in graia/ariadne/event/mirai.py
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
class MemberPermissionChangeEvent(GroupEvent):
    """有一群组成员的权限被更改/调整, 执行者只可能是群组的群主.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        Ariadne (annotation): 发布事件的应用实例
        Group (annotation): 发生该事件的群组
        Member (annotation): 被调整权限的群组成员
    """

    type = "MemberPermissionChangeEvent"

    origin: MemberPerm
    """原来的权限"""

    current: MemberPerm
    """现在的权限"""

    member: Member
    """权限改动的群员的信息"""

    Dispatcher = MemberDispatcher

current class-attribute 🔗

current: MemberPerm

现在的权限

member class-attribute 🔗

member: Member

权限改动的群员的信息

origin class-attribute 🔗

origin: MemberPerm

原来的权限

MemberSpecialTitleChangeEvent 🔗

Bases: GroupEvent

有一群组成员的群头衔被更改, 执行者只可能是群组的群主.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持

Ariadne (annotation): 发布事件的应用实例 Group (annotation): 发生该事件的群组 Member (annotation): 被更改群头衔的群组成员

Source code in graia/ariadne/event/mirai.py
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
class MemberSpecialTitleChangeEvent(GroupEvent):
    """有一群组成员的群头衔被更改, 执行者只可能是群组的群主.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        Ariadne (annotation): 发布事件的应用实例
        Group (annotation): 发生该事件的群组
        Member (annotation): 被更改群头衔的群组成员
    """

    type = "MemberSpecialTitleChangeEvent"

    origin: str
    """原来的头衔"""

    current: str
    """现在的头衔"""

    member: Member
    """被更改头衔的群组成员"""

    Dispatcher = MemberDispatcher

current class-attribute 🔗

current: str

现在的头衔

member class-attribute 🔗

member: Member

被更改头衔的群组成员

origin class-attribute 🔗

origin: str

原来的头衔

MemberUnmuteEvent 🔗

Bases: GroupEvent

有一群组成员被管理员/群组解除禁言, 当 operatorNone 时为 Bot 账号操作.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持

Ariadne (annotation): 发布事件的应用实例 Group (annotation): 发生该事件的群组 Member (annotation): - "target" (default, const, str): 被禁言的成员 - "operator" (default, const, str, optional = None): 该操作的执行者, 可能是管理员或是群主, 也可能是 Bot 账号.

默认返回 target.

Source code in graia/ariadne/event/mirai.py
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
class MemberUnmuteEvent(GroupEvent):
    """有一群组成员被管理员/群组解除禁言, 当 `operator` 为 `None` 时为 Bot 账号操作.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        Ariadne (annotation): 发布事件的应用实例
        Group (annotation): 发生该事件的群组
        Member (annotation):
          - `"target"` (default, const, str): 被禁言的成员
          - `"operator"` (default, const, str, optional = None): 该操作的执行者, 可能是管理员或是群主, 也可能是 Bot 账号.

          默认返回 `target`.
    """

    type = "MemberUnmuteEvent"

    member: Member
    """被禁言的群员"""

    operator: Optional[Member]
    """操作执行者, 可能是管理员或是群主, 也可能是 Bot 账号"""

    Dispatcher = OperatorMemberDispatcher

member class-attribute 🔗

member: Member

被禁言的群员

operator class-attribute 🔗

operator: Optional[Member]

操作执行者, 可能是管理员或是群主, 也可能是 Bot 账号

NewFriendRequestEvent 🔗

Bases: RequestEvent, FriendEvent

有一用户向机器人提起好友请求.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持

Ariadne (annotation): 发布事件的应用实例

事件拓展支持

该事件的处理需要你获取原始事件实例.

  1. 同意请求: await event.accept(), 具体查看该方法所附带的说明.
  2. 拒绝请求: await event.reject(), 具体查看该方法所附带的说明.
  3. 拒绝并不再接受来自对方的请求: await event.rejectAndBlock(), 具体查看该方法所附带的说明.
Source code in graia/ariadne/event/mirai.py
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
class NewFriendRequestEvent(RequestEvent, FriendEvent):
    """有一用户向机器人提起好友请求.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        Ariadne (annotation): 发布事件的应用实例

    事件拓展支持:
        该事件的处理需要你获取原始事件实例.

        1. 同意请求: `await event.accept()`, 具体查看该方法所附带的说明.
        2. 拒绝请求: `await event.reject()`, 具体查看该方法所附带的说明.
        3. 拒绝并不再接受来自对方的请求: `await event.rejectAndBlock()`, 具体查看该方法所附带的说明.
    """

    type = "NewFriendRequestEvent"

    request_id: int = Field(..., alias="eventId")
    """事件标识,响应该事件时的标识"""

    supplicant: int = Field(..., alias="fromId")
    """申请人QQ号"""

    nickname: str = Field(..., alias="nick")
    """申请人的昵称或群名片"""

    message: str
    """申请消息"""

    source_group: int = Field(..., alias="groupId")
    """申请人如果通过某个群添加好友, 该项为该群群号, 否则为0"""

    async def accept(self, message: str = "") -> None:
        """同意对方的加好友请求.

        Args:
            message (str, optional): 附带给对方的消息. 默认为 "".

        Raises:
            LookupError: 尝试上下文外处理事件.
            InvalidSession: 应用实例没准备好!

        Returns:
            None: 没有返回.
        """
        await self._operate(0, message)

    async def reject(self, message: str = "") -> None:
        """拒绝对方的加好友请求.

        Args:
            message (str, optional): 附带给对方的消息. 默认为 "".

        Raises:
            LookupError: 尝试上下文外处理事件.
            InvalidSession: 应用实例没准备好!

        Returns:
            None: 没有返回.
        """
        await self._operate(1, message)

    async def reject_and_block(self, message: str = "") -> None:
        """拒绝对方的加好友请求, 并不再接受来自对方的加好友请求.

        Args:
            message (str, optional): 附带给对方的消息. 默认为 "".

        Raises:
            LookupError: 尝试上下文外处理事件.
            InvalidSession: 应用实例没准备好!

        Returns:
            None: 没有返回.
        """
        await self._operate(2, message)

message class-attribute 🔗

message: str

申请消息

nickname class-attribute 🔗

nickname: str = Field(Ellipsis, alias='nick')

申请人的昵称或群名片

request_id class-attribute 🔗

request_id: int = Field(Ellipsis, alias='eventId')

事件标识,响应该事件时的标识

source_group class-attribute 🔗

source_group: int = Field(Ellipsis, alias='groupId')

申请人如果通过某个群添加好友, 该项为该群群号, 否则为0

supplicant class-attribute 🔗

supplicant: int = Field(Ellipsis, alias='fromId')

申请人QQ号

accept async 🔗

accept(message: str = '') -> None

同意对方的加好友请求.

Parameters:

  • message (str) –

    附带给对方的消息. 默认为 "".

Raises:

  • LookupError

    尝试上下文外处理事件.

  • InvalidSession

    应用实例没准备好!

Returns:

  • None( None ) –

    没有返回.

Source code in graia/ariadne/event/mirai.py
934
935
936
937
938
939
940
941
942
943
944
945
946
947
async def accept(self, message: str = "") -> None:
    """同意对方的加好友请求.

    Args:
        message (str, optional): 附带给对方的消息. 默认为 "".

    Raises:
        LookupError: 尝试上下文外处理事件.
        InvalidSession: 应用实例没准备好!

    Returns:
        None: 没有返回.
    """
    await self._operate(0, message)

reject async 🔗

reject(message: str = '') -> None

拒绝对方的加好友请求.

Parameters:

  • message (str) –

    附带给对方的消息. 默认为 "".

Raises:

  • LookupError

    尝试上下文外处理事件.

  • InvalidSession

    应用实例没准备好!

Returns:

  • None( None ) –

    没有返回.

Source code in graia/ariadne/event/mirai.py
949
950
951
952
953
954
955
956
957
958
959
960
961
962
async def reject(self, message: str = "") -> None:
    """拒绝对方的加好友请求.

    Args:
        message (str, optional): 附带给对方的消息. 默认为 "".

    Raises:
        LookupError: 尝试上下文外处理事件.
        InvalidSession: 应用实例没准备好!

    Returns:
        None: 没有返回.
    """
    await self._operate(1, message)

reject_and_block async 🔗

reject_and_block(message: str = '') -> None

拒绝对方的加好友请求, 并不再接受来自对方的加好友请求.

Parameters:

  • message (str) –

    附带给对方的消息. 默认为 "".

Raises:

  • LookupError

    尝试上下文外处理事件.

  • InvalidSession

    应用实例没准备好!

Returns:

  • None( None ) –

    没有返回.

Source code in graia/ariadne/event/mirai.py
964
965
966
967
968
969
970
971
972
973
974
975
976
977
async def reject_and_block(self, message: str = "") -> None:
    """拒绝对方的加好友请求, 并不再接受来自对方的加好友请求.

    Args:
        message (str, optional): 附带给对方的消息. 默认为 "".

    Raises:
        LookupError: 尝试上下文外处理事件.
        InvalidSession: 应用实例没准备好!

    Returns:
        None: 没有返回.
    """
    await self._operate(2, message)

NudgeEvent 🔗

Bases: MiraiEvent

Bot 账号被某个账号在相应上下文区域进行 "戳一戳"(Nudge) 的行为.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持
  • Ariadne (annotation): 发布事件的应用实例
Source code in graia/ariadne/event/mirai.py
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
class NudgeEvent(MiraiEvent):
    """Bot 账号被某个账号在相应上下文区域进行 "戳一戳"(Nudge) 的行为.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        - Ariadne (annotation): 发布事件的应用实例
    """

    type: str = "NudgeEvent"

    context_type: Literal["friend", "group"]
    """戳一戳的位置"""

    supplicant: int = Field(..., alias="fromId")
    """动作发出者的 QQ 号"""

    target: int
    """动作目标的 QQ 号"""

    msg_action: str = Field(..., alias="action")
    """动作类型"""

    msg_suffix: str = Field(..., alias="suffix")
    """自定义动作内容"""

    origin_subject_info: Dict[str, Any] = Field(..., alias="subject")
    """原始来源"""

    friend_id: Optional[int] = None
    """好友 QQ 号, 如果为好友间戳一戳"""

    group_id: Optional[int] = None
    """群组 QQ 号, 如果为群内戳一戳"""

    def __init__(self, **data: Any) -> None:
        ctx_type = data["context_type"] = str.lower(data["subject"]["kind"])
        if ctx_type == "group":
            data["group_id"] = data["subject"]["id"]
        else:
            data["friend_id"] = data["subject"]["id"]
        super().__init__(**data)

    class Dispatcher(AbstractDispatcher):
        @staticmethod
        async def catch(interface: DispatcherInterface):
            from ..app import Ariadne

            event = interface.event
            if generic_issubclass(Group, interface.annotation) and event.group_id is not None:
                return await Ariadne.current().get_group(event.group_id, assertion=True, cache=True)
            if generic_issubclass(Friend, interface.annotation) and event.friend_id is not None:
                return await Ariadne.current().get_friend(event.friend_id, assertion=True, cache=True)

context_type class-attribute 🔗

context_type: Literal[friend, group]

戳一戳的位置

friend_id class-attribute 🔗

friend_id: Optional[int] = None

好友 QQ 号, 如果为好友间戳一戳

group_id class-attribute 🔗

group_id: Optional[int] = None

群组 QQ 号, 如果为群内戳一戳

msg_action class-attribute 🔗

msg_action: str = Field(Ellipsis, alias='action')

动作类型

msg_suffix class-attribute 🔗

msg_suffix: str = Field(Ellipsis, alias='suffix')

自定义动作内容

origin_subject_info class-attribute 🔗

origin_subject_info: Dict[str, Any] = Field(Ellipsis, alias='subject')

原始来源

supplicant class-attribute 🔗

supplicant: int = Field(Ellipsis, alias='fromId')

动作发出者的 QQ 号

target class-attribute 🔗

target: int

动作目标的 QQ 号

OtherClientOfflineEvent 🔗

Bases: MiraiEvent

Bot 账号在其他客户端下线.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持

Ariadne (annotation): 发布事件的应用实例

Source code in graia/ariadne/event/mirai.py
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
class OtherClientOfflineEvent(MiraiEvent):
    """Bot 账号在其他客户端下线.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        Ariadne (annotation): 发布事件的应用实例
    """

    type = "OtherClientOfflineEvent"

    client: Client
    """下线的客户端"""

client class-attribute 🔗

client: Client

下线的客户端

OtherClientOnlineEvent 🔗

Bases: MiraiEvent

Bot 账号在其他客户端上线.

Tip

当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

提供的额外注解支持

Ariadne (annotation): 发布事件的应用实例

Source code in graia/ariadne/event/mirai.py
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
class OtherClientOnlineEvent(MiraiEvent):
    """Bot 账号在其他客户端上线.

    Tip:
        当监听该事件或该类事件时, 请优先考虑使用原始事件类作为类型注解, 以此获得事件类实例, 便于获取更多的信息!

    提供的额外注解支持:
        Ariadne (annotation): 发布事件的应用实例
    """

    type = "OtherClientOnlineEvent"

    client: Client
    """上线的客户端"""

    kind: Optional[ClientKind]
    """客户端类型"""

client class-attribute 🔗

client: Client

上线的客户端

kind class-attribute 🔗

kind: Optional[ClientKind]

客户端类型

RequestEvent 🔗

Bases: MiraiEvent

各种申请事件的基类.

Source code in graia/ariadne/event/mirai.py
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
class RequestEvent(MiraiEvent):
    """各种申请事件的基类."""

    type: str

    request_id: int = Field(..., alias="eventId")
    """事件标识,响应该事件时的标识"""

    supplicant: int = Field(..., alias="fromId")
    """申请人QQ号"""

    source_group: int = Field(..., alias="groupId")

    nickname: str = Field(..., alias="nick")
    """申请人的昵称或群名片"""

    message: str
    """申请消息"""

    async def _operate(self, operation: int, msg: str = "") -> None:
        """内部接口, 用于内部便捷发送相应操作."""
        from ..app import Ariadne

        api_route = self.type[0].lower() + self.type[1:]
        await Ariadne.current().connection.call(
            f"resp_{api_route}",
            CallMethod.POST,
            {
                "eventId": self.request_id,
                "fromId": self.supplicant,
                "groupId": self.source_group,
                "operate": operation,
                "message": msg,
            },
        )

message class-attribute 🔗

message: str

申请消息

nickname class-attribute 🔗

nickname: str = Field(Ellipsis, alias='nick')

申请人的昵称或群名片

request_id class-attribute 🔗

request_id: int = Field(Ellipsis, alias='eventId')

事件标识,响应该事件时的标识

supplicant class-attribute 🔗

supplicant: int = Field(Ellipsis, alias='fromId')

申请人QQ号