cyan.model.message package

Submodules

Module contents

class cyan.model.message.ContentElement[源代码]

基类:cyan.model.message.MessageElement

apply(_dict: Dict[str, Any]) None[源代码]

应用消息元素至消息。

参数:
  • _dict: 将用于发送至 API 的字典。

abstract to_content() str[源代码]

转换为可被 API 解析的字符串内容。

返回:

可被 API 解析的当前实例的等效字符串内容。

class cyan.model.message.Message(bot: cyan.bot.Bot, props: Dict[str, Any], content: cyan.model.message.MessageContent)[源代码]

基类:cyan.model.Model, Generic[cyan.model.message._T_Message]

消息。

property bot: cyan.bot.Bot

Model 所属机器人。

property content: cyan.model.message.MessageContent

消息内容。

abstract async get_source() cyan.model.ChattableModel[cyan.model.message._T_Message][源代码]

异步获取消息来源。

返回:

ChattableModel[T] 为基类的 Model 消息源。

property identifier: str

Model ID。

static parse(bot: cyan.bot.Bot, _dict: Dict[str, Any]) cyan.model.message._T_Message[源代码]

解析消息内容字典为 Message 实例。

参数:
  • bot: 请求解析的机器人实例

  • _dict: 将用于解析的消息内容字典

返回:

Message 类型表示的消息。

async reply(*message: Union[cyan.model.message.MessageElement, str, cyan.model.message.Message[Any], Iterable[cyan.model.message.MessageElement]]) cyan.model.message._T_Message[源代码]

异步回复当前消息。

参数:
  • message: 回应消息

返回:

当消息需被审核时返回以 MessageAuditInfo 类型表示的消息审核信息; 否则,返回表示以 Message 类型表示的所发送消息。

abstract property sender: User

消息发送者。

property time: datetime.datetime

消息发送时间。

class cyan.model.message.MessageAuditInfo(bot: cyan.bot.Bot, props: Dict[str, Any])[源代码]

基类:cyan.model.Model

消息审核信息。

property bot: cyan.bot.Bot

Model 所属机器人。

async get_channel() TextChannel[源代码]

异步获取当前消息审核信息所属子频道。

async get_guild() cyan.model.guild.Guild[源代码]

异步获取当前消息审核信息所属频道。

property identifier: str

Model ID。

class cyan.model.message.MessageContent(iterable=(), /)[源代码]

基类:List[cyan.model.message.MessageElement]

消息内容。

extract_plain_text() str[源代码]

提取纯文本。

返回:

str 类型表示消息内容的所有纯文本。

to_dict() Dict[str, Any][源代码]

转换为可被 API 解析的字典。

返回:

可被 API 解析的当前实例的等效字典。

class cyan.model.message.MessageElement[源代码]

基类:object

消息元素。

abstract apply(_dict: Dict[str, Any]) None[源代码]

应用消息元素至消息。

参数:
  • _dict: 将用于发送至 API 的字典。

class cyan.model.message.MessageElementParseResult(top: bool, elements: List[cyan.model.message.MessageElement])[源代码]

基类:object

消息元素解析结果。

elements: List[cyan.model.message.MessageElement]

解析结果所有元素的 list 类型集合。

top: bool

元素是否置顶。

cyan.model.message.MessageElementParser

消息元素解析器。

参数:
  • Bot: 请求解析的机器人实例

  • Dict[str, Any]: API 返回字典

返回:

当解析成功时,返回以 MessageElementParseResult 类型表示的解析结果;否则,返回 None

alias of Callable[[cyan.bot.Bot, Dict[str, Any]], Optional[cyan.model.message.MessageElementParseResult]]

cyan.model.message.create_message_content(*elements: Union[cyan.model.message.MessageElement, str, cyan.model.message.Message[Any], Iterable[cyan.model.message.MessageElement]]) cyan.model.message.MessageContent[源代码]

创建 MessageContent 实例。

指定元素类型若为 MessageElement 则直接呈现; 若为 str 则转换为 PlainText 类型呈现; 若为 Iterable[MessageElement] 则取出其中元素呈现; 若为 ChannelMessage 则获取其中内容并取出其中元素呈现。

参数:
  • elements: 元素

返回:

包含指定元素的 MessageContent

cyan.model.message.message_element_parser() Callable[[Callable[[cyan.bot.Bot, Dict[str, Any]], Optional[cyan.model.message.MessageElementParseResult]]], None][源代码]

装饰消息元素解析器以用于消息元素解析。