Class ModuleBase<T>
表示一个模块基类。
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
参数的类型。