light_mode dark_mode routine

Class CommandHandlerBase code

命名空间
Another_Mirai_Native.Abstractions
程序集
Another-Mirai-Native.Abstractions.dll

基于 CommandAttribute 特性的指令处理器抽象基类。 继承此类后,在方法上标注 CommandAttribute 即可自动注册为指令处理器。

此类已实现 IGroupMessageHandlerIPrivateMessageHandler, 框架会自动发现并注册,无需额外配置。

public abstract class CommandHandlerBase : IGroupMessageHandler, IPrivateMessageHandler
继承
CommandHandlerBase
实现
继承成员

构造函数

CommandHandlerBase() code

protected CommandHandlerBase()

方法

ClearCommandCache() code

清除当前实例的指令方法缓存。下次消息调度时将重新通过反射扫描所有 CommandAttributeDynamicCommandAttribute 方法。

protected void ClearCommandCache()

备注

在以下场景中调用此方法:

  • 插件运行时启用了新编译的 DLL 版本。
  • 动态添加了标注 CommandAttribute 的方法(例如通过动态代理)。

OnNoMatchAsync(GroupMessageContext, CancellationToken) code

当没有任何指令匹配群聊消息时调用。可在派生类中重写以实现自定义的回退逻辑。

protected virtual Task<EventHandleResult> OnNoMatchAsync(GroupMessageContext e, CancellationToken ct)

参数

e GroupMessageContext

包含当前群聊消息事件信息的上下文。

ct CancellationToken

可用于取消操作的取消令牌。

返回值

Task<EventHandleResult>

事件的处理结果。默认返回 Pass

OnNoMatchAsync(PrivateMessageContext, CancellationToken) code

当没有任何指令匹配私聊消息时调用。可在派生类中重写以实现自定义的回退逻辑。

protected virtual Task<EventHandleResult> OnNoMatchAsync(PrivateMessageContext e, CancellationToken ct)

参数

e PrivateMessageContext

包含当前私聊消息事件信息的上下文。

ct CancellationToken

可用于取消操作的取消令牌。

返回值

Task<EventHandleResult>

事件的处理结果。默认返回 Pass

OnParameterParseError(string, string, Type) code

当指令参数的类型转换失败时调用。可在派生类中重写以实现自定义的错误处理逻辑,例如向用户回复格式提示。

protected virtual void OnParameterParseError(string paramName, string rawValue, Type targetType)

参数

paramName string

转换失败的参数名,对应正则表达式中的具名分组名称。

rawValue string

从消息中提取到的原始字符串值。

targetType Type

期望转换到的目标类型。

OnReceiveGroupMessageAsync(GroupMessageContext, CancellationToken) code

在收到群消息时异步执行操作。

public virtual Task<EventHandleResult> OnReceiveGroupMessageAsync(GroupMessageContext e, CancellationToken ct)

参数

e GroupMessageContext

包含收到群消息事件相关信息的事件参数对象。

ct CancellationToken

可用于发出退出操作取消信号的取消令牌。

返回值

Task<EventHandleResult>

事件的处理结果;Pass 不阻塞事件的继续传递;Block 将会阻塞事件的继续传递;

OnReceivePrivateMessageAsync(PrivateMessageContext, CancellationToken) code

在收到私聊消息时异步执行操作。

public virtual Task<EventHandleResult> OnReceivePrivateMessageAsync(PrivateMessageContext e, CancellationToken ct)

参数

e PrivateMessageContext

包含收到私聊消息事件相关信息的事件参数对象。

ct CancellationToken

可用于发出退出操作取消信号的取消令牌。

返回值

Task<EventHandleResult>

事件的处理结果;Pass 不阻塞事件的继续传递;Block 将会阻塞事件的继续传递;