cyan.event package

Submodules

Module contents

class cyan.event.Event(bot: Bot)[源代码]

基类:object

事件。

bind(*handler: Union[Callable[[Any], Union[Awaitable[None], Awaitable[NoReturn]]], Callable[[Any, Any], Union[Awaitable[None], Awaitable[NoReturn]]]]) None[源代码]

绑定事件处理器。

参数:
  • handler: 将要绑定的事件处理器

async distribute(data: Any) None[源代码]

分发事件数据。

参数:
  • data: 用于解析及分发的数据

abstract static get_event_info() cyan.event.EventInfo[源代码]

获取当前事件信息。

返回:

EventInfo 类型表示的事件信息。

handle() Callable[[Union[Callable[[Any], Union[Awaitable[None], Awaitable[NoReturn]]], Callable[[Any, Any], Union[Awaitable[None], Awaitable[NoReturn]]]]], None][源代码]

装饰事件处理器以绑定至当前事件。

cyan.event.EventHandler

事件处理器。

alias of Union[Callable[[Any], Union[Awaitable[None], Awaitable[NoReturn]]], Callable[[Any, Any], Union[Awaitable[None], Awaitable[NoReturn]]]]

class cyan.event.EventInfo(name: str, intent: cyan.event.Intent)[源代码]

基类:object

事件信息。

property intent: cyan.event.Intent

事件所需注册的 Intent

property name: str

事件名称。

class cyan.event.EventSource(bot: Bot, authorization: str)[源代码]

基类:object

事件源。

property bot: Bot

事件源所属机器人实例。

async connect() None[源代码]

异步连接服务器。

property connected: bool

WebSocket 是否已连接。

async disconnect() None[源代码]

异步断开连接。

get_event(_type: Type[cyan.event.Event]) cyan.event.Event[源代码]

获取指定类型的事件。

参数:
  • _type: 所需获取事件的类型

返回:

指定类型事件的实例。

listen(_type: Type[cyan.event.Event]) Callable[[Union[Callable[[Any], Union[Awaitable[None], Awaitable[NoReturn]]], Callable[[Any, Any], Union[Awaitable[None], Awaitable[NoReturn]]]]], None][源代码]

装饰事件处理器以监听指定事件。

参数:
  • _type: 所需监听事件的类型

async send(operation: cyan.event.Operation, payload: Optional[Any] = None) None[源代码]

异步发送数据至服务器。

参数:
  • operation: 操作

  • payload: Payload

async wait_until_stopped() None[源代码]

异步等待至事件源停止接收消息。

class cyan.event.Intent(value)[源代码]

基类:enum.Enum

事件注册 Intent

DEFAULT = 0

默认。

DIRECT_MESSAGE = 4096

直接消息事件。

EXPRESSION = 1024

频道表态事件。

FORUM = 268435456

论坛事件。

GUILD = 1

频道事件。

MEMBER = 2

成员事件。

MENTION = 1073741824

提及机器人事件。

MESSAGE_AUDIT = 134217728

消息审核事件。

VOICE = 536870912

语音事件。

exception cyan.event.NotSupported[源代码]

基类:Exception

当操作不支持时抛出。

class cyan.event.Operation(value)[源代码]

基类:enum.Enum

操作。

CONNECTED = 10

已连接。

EVENT = 0

事件。

HEARTBEAT = 1

心跳包。

HEARTBEAT_RECEIVED = 11

已接收心跳包。

IDENTIFY = 2

认证。

INVALID_SESSION = 9

无效会话。

RECONNECT = 7

重新连接。

RESUME = 6

恢复。