Table of Contents

Interface IMessage

Namespace
Kook
Assembly
Kook.Net.Core.dll

表示一个通用的消息。

public interface IMessage : IEntity<Guid>, IDeletable
Inherited Members
Extension Methods

Properties

Attachments

获取此消息中包含的所有附件。

IReadOnlyCollection<IAttachment> Attachments { get; }

Property Value

IReadOnlyCollection<IAttachment>

Remarks

此属性也会包含从卡片中解析出来的附件信息。

Author

获取此消息的作者。

IUser Author { get; }

Property Value

IUser

Cards

获取此消息中包含的所有卡片。

IReadOnlyCollection<ICard> Cards { get; }

Property Value

IReadOnlyCollection<ICard>

Channel

获取此消息的来源频道。

IMessageChannel Channel { get; }

Property Value

IMessageChannel

CleanContent

获取此消息的纯净内容。

string CleanContent { get; }

Property Value

string

此属性会对 Content 的内容进行两步操作:

  1. 使用 Resolve(TagHandling, TagHandling, TagHandling, TagHandling, TagHandling) 方法解析所有标签的完整名称;
  2. 使用 StripMarkdown(string) 清理所有 KMarkdown 格式字符。
See Also

Content

获取此消息的内容。

string Content { get; }

Property Value

string

Remarks

如果消息不是文本消息,则此属性可能为空或包含原始代码。

EditedTimestamp

获取此消息最后一次编辑的时间。

DateTimeOffset? EditedTimestamp { get; }

Property Value

DateTimeOffset?

Remarks

如果此消息从未被编辑过,则此属性的值为 null

Embeds

获取此消息中包含的所有嵌入式内容。

IReadOnlyCollection<IEmbed> Embeds { get; }

Property Value

IReadOnlyCollection<IEmbed>

IsPinned

获取此消息是否被置顶。

bool? IsPinned { get; }

Property Value

bool?

MentionedEveryone

获取此消息是否提及了全体成员。

bool MentionedEveryone { get; }

Property Value

bool

MentionedHere

获取此消息是否提及了在线成员。

bool MentionedHere { get; }

Property Value

bool

MentionedRoleIds

获取此消息中提及的所有角色的 ID。

IReadOnlyCollection<uint> MentionedRoleIds { get; }

Property Value

IReadOnlyCollection<uint>

MentionedUserIds

获取此消息中提及的所有用户的 ID。

IReadOnlyCollection<ulong> MentionedUserIds { get; }

Property Value

IReadOnlyCollection<ulong>

Pokes

获取此消息中包含的所有 POKE。

IReadOnlyCollection<IPokeAction> Pokes { get; }

Property Value

IReadOnlyCollection<IPokeAction>

Reactions

获取此消息中包含的所有回应。

IReadOnlyDictionary<IEmote, ReactionMetadata> Reactions { get; }

Property Value

IReadOnlyDictionary<IEmote, ReactionMetadata>

Source

获取此消息的来源。

MessageSource Source { get; }

Property Value

MessageSource

Tags

获取此消息中解析出的所有标签。

IReadOnlyCollection<ITag> Tags { get; }

Property Value

IReadOnlyCollection<ITag>

Timestamp

获取此消息的发送时间。

DateTimeOffset Timestamp { get; }

Property Value

DateTimeOffset

Type

获取此消息的类型。

MessageType Type { get; }

Property Value

MessageType

Methods

AddReactionAsync(IEmote, RequestOptions?)

向此消息添加一个回应。

Task AddReactionAsync(IEmote emote, RequestOptions? options = null)

Parameters

emote IEmote

要用于向此消息添加回应的表情符号。

options RequestOptions

发送请求时要使用的选项。

Returns

Task

一个表示添加添加异步操作的任务。

GetReactionUsersAsync(IEmote, RequestOptions?)

获取所有对消息使用给定表情符号进行回应的用户。

Task<IReadOnlyCollection<IUser>> GetReactionUsersAsync(IEmote emote, RequestOptions? options = null)

Parameters

emote IEmote

要获取其回应用户的表情符号。

options RequestOptions

发送请求时要使用的选项。

Returns

Task<IReadOnlyCollection<IUser>>

一个表示异步获取操作的任务。任务的结果包含对消息使用给定表情符号进行回应的所有用户。

RemoveReactionAsync(IEmote, IUser, RequestOptions?)

从此消息中移除一个回应。

Task RemoveReactionAsync(IEmote emote, IUser user, RequestOptions? options = null)

Parameters

emote IEmote

要从此消息移除的回应的表情符号。

user IUser

要移除其回应的用户。

options RequestOptions

发送请求时要使用的选项。

Returns

Task

一个表示异步移除操作的任务。

RemoveReactionAsync(IEmote, ulong, RequestOptions?)

从此消息中移除一个回应。

Task RemoveReactionAsync(IEmote emote, ulong userId, RequestOptions? options = null)

Parameters

emote IEmote

要从此消息移除的回应的表情符号。

userId ulong

要移除其回应的用户的 ID。

options RequestOptions

发送请求时要使用的选项。

Returns

Task

一个表示异步移除操作的任务。