public override void HearCommand(CommandMatchPattern handlerParams, Func <MessageContext, Action, Task> handler) { var previousPredicate = handlerParams.Predicate; handlerParams.Predicate = msg => predicate(msg) && (previousPredicate?.Invoke(msg) ?? true); commands.Use(new MesssageEventHandler(handlerParams, handler)); }
public MesssageEventHandler(CommandMatchPattern matchPattern, Func <MessageContext, Action, Task> handler) : base(handler) { this.matchPattern = matchPattern; }
public void HearCommand(CommandMatchPattern handlerParams, Func <MessageContext, Task> handler) => HearCommand(handlerParams, (context, next) => handler(context));
public virtual void HearCommand(CommandMatchPattern handlerParams, Func <MessageContext, Action, Task> handler) => commands.Use(new MesssageEventHandler(handlerParams, handler));