Class CommandHandlerBase code
- 程序集
- Another-Mirai-Native.Abstractions.dll
基于 CommandAttribute 特性的指令处理器抽象基类。 继承此类后,在方法上标注 CommandAttribute 即可自动注册为指令处理器。
此类已实现 IGroupMessageHandler 和 IPrivateMessageHandler, 框架会自动发现并注册,无需额外配置。
public abstract class CommandHandlerBase : IGroupMessageHandler, IPrivateMessageHandler
- 继承
-
CommandHandlerBase
- 实现
- 继承成员
构造函数
CommandHandlerBase() code
protected CommandHandlerBase()
方法
ClearCommandCache() code
清除当前实例的指令方法缓存。下次消息调度时将重新通过反射扫描所有 CommandAttribute 和 DynamicCommandAttribute 方法。
protected void ClearCommandCache()
备注
在以下场景中调用此方法:
- 插件运行时启用了新编译的 DLL 版本。
- 动态添加了标注 CommandAttribute 的方法(例如通过动态代理)。
OnNoMatchAsync(GroupMessageContext, CancellationToken) code
当没有任何指令匹配群聊消息时调用。可在派生类中重写以实现自定义的回退逻辑。
protected virtual Task<EventHandleResult> OnNoMatchAsync(GroupMessageContext e, CancellationToken ct)
参数
eGroupMessageContext包含当前群聊消息事件信息的上下文。
ctCancellationToken可用于取消操作的取消令牌。
返回值
- Task<EventHandleResult>
事件的处理结果。默认返回 Pass。
OnNoMatchAsync(PrivateMessageContext, CancellationToken) code
当没有任何指令匹配私聊消息时调用。可在派生类中重写以实现自定义的回退逻辑。
protected virtual Task<EventHandleResult> OnNoMatchAsync(PrivateMessageContext e, CancellationToken ct)
参数
ePrivateMessageContext包含当前私聊消息事件信息的上下文。
ctCancellationToken可用于取消操作的取消令牌。
返回值
- Task<EventHandleResult>
事件的处理结果。默认返回 Pass。
OnParameterParseError(string, string, Type) code
当指令参数的类型转换失败时调用。可在派生类中重写以实现自定义的错误处理逻辑,例如向用户回复格式提示。
protected virtual void OnParameterParseError(string paramName, string rawValue, Type targetType)
参数
paramNamestring转换失败的参数名,对应正则表达式中的具名分组名称。
rawValuestring从消息中提取到的原始字符串值。
targetTypeType期望转换到的目标类型。
OnReceiveGroupMessageAsync(GroupMessageContext, CancellationToken) code
在收到群消息时异步执行操作。
public virtual Task<EventHandleResult> OnReceiveGroupMessageAsync(GroupMessageContext e, CancellationToken ct)
参数
eGroupMessageContext包含收到群消息事件相关信息的事件参数对象。
ctCancellationToken可用于发出退出操作取消信号的取消令牌。
返回值
OnReceivePrivateMessageAsync(PrivateMessageContext, CancellationToken) code
在收到私聊消息时异步执行操作。
public virtual Task<EventHandleResult> OnReceivePrivateMessageAsync(PrivateMessageContext e, CancellationToken ct)
参数
ePrivateMessageContext包含收到私聊消息事件相关信息的事件参数对象。
ctCancellationToken可用于发出退出操作取消信号的取消令牌。