cyan.model.message package¶
Submodules¶
Module contents¶
- 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 类型表示的所发送消息。
- property time: datetime.datetime¶
消息发送时间。
- class cyan.model.message.MessageAuditInfo(bot: cyan.bot.Bot, props: Dict[str, Any])[源代码]¶
-
消息审核信息。
- 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
]消息内容。
- 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] [源代码]¶
装饰消息元素解析器以用于消息元素解析。