Table of Contents

Class ModuleBase<T>

Namespace
Kook.Commands
Assembly
Kook.Net.Commands.dll

表示一个模块基类。

public abstract class ModuleBase<T> : IModuleBase where T : class, ICommandContext

Type Parameters

T

模块的上下文类型。

Inheritance
ModuleBase<T>
Implements
Derived
Inherited Members

Properties

Context

获取此命令的上下文。

public T Context { get; }

Property Value

T

Methods

AfterExecute(CommandInfo)

当此模块中的命令运行后执行。

protected virtual void AfterExecute(CommandInfo command)

Parameters

command CommandInfo

执行的命令。

AfterExecuteAsync(CommandInfo)

当此模块中的命令运行后异步执行。

protected virtual Task AfterExecuteAsync(CommandInfo command)

Parameters

command CommandInfo

执行的命令。

Returns

Task

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

BeforeExecute(CommandInfo)

当此模块中的命令在运行之前执行。

protected virtual void BeforeExecute(CommandInfo command)

Parameters

command CommandInfo

即将运行的命令。

BeforeExecuteAsync(CommandInfo)

当此模块中的命令在运行之前异步执行。

protected virtual Task BeforeExecuteAsync(CommandInfo command)

Parameters

command CommandInfo

即将运行的命令。

Returns

Task

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

OnModuleBuilding(CommandService, ModuleBuilder)

当构建此模块时执行。

protected virtual void OnModuleBuilding(CommandService commandService, ModuleBuilder builder)

Parameters

commandService CommandService

创建此模块的命令服务。

builder ModuleBuilder

用于构建此模块的构建器。

ReplyCardAsync(ICard, bool, bool, RequestOptions?)

发送卡片消息到此命令消息所在的频道。

protected virtual Task<Cacheable<IUserMessage, Guid>> ReplyCardAsync(ICard card, bool isQuote = true, bool isEphemeral = false, RequestOptions? options = null)

Parameters

card ICard

要发送的卡片。

isQuote bool

是否引用源消息。

isEphemeral bool

是否以临时消息的形式发送给命令调用者。如果设置为 true,则仅该用户可以看到此消息,否则所有人都可以看到此消息。

options RequestOptions

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

Returns

Task<Cacheable<IUserMessage, Guid>>

一个表示异步发送操作的任务。任务的结果包含所发送消息的可延迟加载的消息对象。

ReplyCardsAsync(IEnumerable<ICard>, bool, bool, RequestOptions?)

发送卡片消息到此命令消息所在的频道。

protected virtual Task<Cacheable<IUserMessage, Guid>> ReplyCardsAsync(IEnumerable<ICard> cards, bool isQuote = true, bool isEphemeral = false, RequestOptions? options = null)

Parameters

cards IEnumerable<ICard>

要发送的卡片。

isQuote bool

是否引用源消息。

isEphemeral bool

是否以临时消息的形式发送给命令调用者。如果设置为 true,则仅该用户可以看到此消息,否则所有人都可以看到此消息。

options RequestOptions

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

Returns

Task<Cacheable<IUserMessage, Guid>>

一个表示异步发送操作的任务。任务的结果包含所发送消息的可延迟加载的消息对象。

ReplyCardsAsync<TParams>(int, TParams, bool, bool, JsonSerializerOptions?, RequestOptions?)

发送卡片消息到此命令消息所在的频道。

protected virtual Task<Cacheable<IUserMessage, Guid>> ReplyCardsAsync<TParams>(int templateId, TParams parameters, bool isQuote = true, bool isEphemeral = false, JsonSerializerOptions? jsonSerializerOptions = null, RequestOptions? options = null)

Parameters

templateId int

消息模板的 ID。

parameters TParams

传入消息模板的参数。

isQuote bool

是否引用源消息。

isEphemeral bool

是否以临时消息的形式发送给命令调用者。如果设置为 true,则仅该用户可以看到此消息,否则所有人都可以看到此消息。

jsonSerializerOptions JsonSerializerOptions

序列化模板参数时要使用的序列化选项。

options RequestOptions

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

Returns

Task<Cacheable<IUserMessage, Guid>>

一个表示异步发送操作的任务。任务的结果包含所发送消息的可延迟加载的消息对象。

Type Parameters

TParams

参数的类型。

ReplyFileAsync(FileAttachment, bool, bool, RequestOptions?)

发送文件到此命令消息所在的频道。

protected virtual Task<Cacheable<IUserMessage, Guid>> ReplyFileAsync(FileAttachment attachment, bool isQuote = true, bool isEphemeral = false, RequestOptions? options = null)

Parameters

attachment FileAttachment

文件的附件信息。

isQuote bool

是否引用源消息。

isEphemeral bool

是否以临时消息的形式发送给命令调用者。如果设置为 true,则仅该用户可以看到此消息,否则所有人都可以看到此消息。

options RequestOptions

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

Returns

Task<Cacheable<IUserMessage, Guid>>

一个表示异步发送操作的任务。任务的结果包含所发送消息的可延迟加载的消息对象。

ReplyFileAsync(Stream, string, AttachmentType, bool, bool, RequestOptions?)

发送文件到此命令消息所在的频道。

protected virtual Task<Cacheable<IUserMessage, Guid>> ReplyFileAsync(Stream stream, string filename, AttachmentType type = AttachmentType.File, bool isQuote = true, bool isEphemeral = false, RequestOptions? options = null)

Parameters

stream Stream

文件的流。

filename string

文件名。

type AttachmentType

文件的媒体类型。

isQuote bool

是否引用源消息。

isEphemeral bool

是否以临时消息的形式发送给命令调用者。如果设置为 true,则仅该用户可以看到此消息,否则所有人都可以看到此消息。

options RequestOptions

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

Returns

Task<Cacheable<IUserMessage, Guid>>

一个表示异步发送操作的任务。任务的结果包含所发送消息的可延迟加载的消息对象。

ReplyFileAsync(string, string?, AttachmentType, bool, bool, RequestOptions?)

发送文件到此命令消息所在的频道。

protected virtual Task<Cacheable<IUserMessage, Guid>> ReplyFileAsync(string path, string? filename = null, AttachmentType type = AttachmentType.File, bool isQuote = true, bool isEphemeral = false, RequestOptions? options = null)

Parameters

path string

文件的路径。

filename string

文件名。

type AttachmentType

文件的媒体类型。

isQuote bool

是否引用源消息。

isEphemeral bool

是否以临时消息的形式发送给命令调用者。如果设置为 true,则仅该用户可以看到此消息,否则所有人都可以看到此消息。

options RequestOptions

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

Returns

Task<Cacheable<IUserMessage, Guid>>

一个表示异步发送操作的任务。任务的结果包含所发送消息的可延迟加载的消息对象。

ReplyTextAsync(string, bool, bool, RequestOptions?)

发送文本消息到此命令消息所在的频道。

protected virtual Task<Cacheable<IUserMessage, Guid>> ReplyTextAsync(string text, bool isQuote = true, bool isEphemeral = false, RequestOptions? options = null)

Parameters

text string

要发送的文本。

isQuote bool

是否引用源消息。

isEphemeral bool

是否以临时消息的形式发送给命令调用者。如果设置为 true,则仅该用户可以看到此消息,否则所有人都可以看到此消息。

options RequestOptions

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

Returns

Task<Cacheable<IUserMessage, Guid>>

一个表示异步发送操作的任务。任务的结果包含所发送消息的可延迟加载的消息对象。

ReplyTextAsync<TParams>(int, TParams, bool, bool, JsonSerializerOptions?, RequestOptions?)

发送文本消息到此命令消息所在的频道。

protected virtual Task<Cacheable<IUserMessage, Guid>> ReplyTextAsync<TParams>(int templateId, TParams parameters, bool isQuote = false, bool isEphemeral = false, JsonSerializerOptions? jsonSerializerOptions = null, RequestOptions? options = null)

Parameters

templateId int

消息模板的 ID。

parameters TParams

传入消息模板的参数。

isQuote bool

是否引用源消息。

isEphemeral bool

是否以临时消息的形式发送给命令调用者。如果设置为 true,则仅该用户可以看到此消息,否则所有人都可以看到此消息。

jsonSerializerOptions JsonSerializerOptions

序列化模板参数时要使用的序列化选项。

options RequestOptions

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

Returns

Task<Cacheable<IUserMessage, Guid>>

一个表示异步发送操作的任务。任务的结果包含所发送消息的可延迟加载的消息对象。

Type Parameters

TParams

参数的类型。