Class SocketMessage
表示一个基于网关的消息。
public abstract class SocketMessage : SocketEntity<Guid>, IMessage, IEntity<Guid>, IDeletable, IUpdateable
- Inheritance
-
SocketMessage
- Implements
- Derived
- Inherited Members
- Extension Methods
Properties
Attachments
获取此消息中包含的所有附件。
public virtual IReadOnlyCollection<Attachment> Attachments { get; }
Property Value
Remarks
此属性也会包含从卡片中解析出来的附件信息。
Author
获取此消息的作者。
public SocketUser Author { get; }
Property Value
Cards
获取此消息中包含的所有卡片。
public virtual IReadOnlyCollection<ICard> Cards { get; }
Property Value
Channel
获取此消息的来源频道。
public ISocketMessageChannel Channel { get; }
Property Value
CleanContent
获取此消息的纯净内容。
public string CleanContent { get; }
Property Value
- string
此属性会对 Content 的内容进行两步操作:
- 使用 Resolve(TagHandling, TagHandling, TagHandling, TagHandling, TagHandling)
方法解析所有标签的完整名称;
- 使用 StripMarkdown(string) 清理所有 KMarkdown 格式字符。
- 使用 Resolve(TagHandling, TagHandling, TagHandling, TagHandling, TagHandling)
方法解析所有标签的完整名称;
- See Also
Content
获取此消息的内容。
public string Content { get; }
Property Value
Remarks
如果消息不是文本消息,则此属性可能为空或包含原始代码。
EditedTimestamp
获取此消息最后一次编辑的时间。
public DateTimeOffset? EditedTimestamp { get; }
Property Value
Remarks
如果此消息从未被编辑过,则此属性的值为 null。
Embeds
获取此消息中包含的所有嵌入式内容。
public virtual IReadOnlyCollection<IEmbed> Embeds { get; }
Property Value
IsPinned
获取此消息是否被置顶。
public virtual bool IsPinned { get; protected set; }
Property Value
MentionedEveryone
获取此消息是否提及了全体成员。
public virtual bool MentionedEveryone { get; }
Property Value
MentionedHere
获取此消息是否提及了在线成员。
public virtual bool MentionedHere { get; }
Property Value
MentionedRoles
获取此消息中提及的所有角色。
public virtual IReadOnlyCollection<SocketRole> MentionedRoles { get; }
Property Value
MentionedUsers
获取此消息中提及的所有用户。
public IReadOnlyCollection<SocketUser> MentionedUsers { get; }
Property Value
Pokes
获取此消息中包含的所有 POKE。
public virtual IReadOnlyCollection<SocketPokeAction> Pokes { get; }
Property Value
RawContent
获取消息的原始可读文本。
public string RawContent { get; }
Property Value
Remarks
此属性值仅在从网关接收的消息中可用。
Reactions
获取此消息中包含的所有回应。
public IReadOnlyDictionary<IEmote, ReactionMetadata> Reactions { get; }
Property Value
Source
获取此消息的来源。
public MessageSource Source { get; }
Property Value
Tags
获取此消息中解析出的所有标签。
public virtual IReadOnlyCollection<ITag> Tags { get; }
Property Value
Timestamp
获取此消息的发送时间。
public DateTimeOffset Timestamp { get; }
Property Value
Type
获取此消息的类型。
public MessageType Type { get; }
Property Value
Methods
AddReactionAsync(IEmote, RequestOptions?)
向此消息添加一个回应。
public Task AddReactionAsync(IEmote emote, RequestOptions? options = null)
Parameters
emote
IEmote要用于向此消息添加回应的表情符号。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示添加添加异步操作的任务。
DeleteAsync(RequestOptions?)
删除此对实体象及其所有子实体对象。
public Task DeleteAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
GetReactionUsersAsync(IEmote, RequestOptions?)
获取所有对消息使用给定表情符号进行回应的用户。
public Task<IReadOnlyCollection<IUser>> GetReactionUsersAsync(IEmote emote, RequestOptions? options = null)
Parameters
emote
IEmote要获取其回应用户的表情符号。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task<IReadOnlyCollection<IUser>>
一个表示异步获取操作的任务。任务的结果包含对消息使用给定表情符号进行回应的所有用户。
RemoveReactionAsync(IEmote, IUser, RequestOptions?)
从此消息中移除一个回应。
public Task RemoveReactionAsync(IEmote emote, IUser user, RequestOptions? options = null)
Parameters
emote
IEmote要从此消息移除的回应的表情符号。
user
IUser要移除其回应的用户。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步移除操作的任务。
RemoveReactionAsync(IEmote, ulong, RequestOptions?)
从此消息中移除一个回应。
public Task RemoveReactionAsync(IEmote emote, ulong userId, RequestOptions? options = null)
Parameters
emote
IEmote要从此消息移除的回应的表情符号。
userId
ulong要移除其回应的用户的 ID。
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步移除操作的任务。
ToString()
获取此消息的内容。
public override string ToString()
Returns
Remarks
如果消息不是文本消息,则此属性可能为空或包含原始代码。
UpdateAsync(RequestOptions?)
通过 REST API 获取此实体对象的最新状态,并替换当前对象的属性。
public Task UpdateAsync(RequestOptions? options = null)
Parameters
options
RequestOptions发送请求时要使用的选项。
Returns
- Task
一个表示异步更新操作的任务。
Remarks
warning
此方法将从 KOOK REST API 获取最新数据,并替换当前对象的属性,而非使用指定的属性修改 KOOK 服务端的数据。