/// <summary> /// Take over all legacy dialog submission handling with your own handler. /// </summary> public abstract TConfig ReplaceLegacyDialogSubmissionHandling(KeyedHandlerFactory <IDialogSubmissionHandler> handlerFactory);
protected override void ReplaceKeyedHandling <THandler>(KeyedHandlerFactory <THandler> handlerFactory) => ReplaceKeyedHandling <THandler>((r, hs) => handlerFactory(hs));
/// <summary> /// Take over all interactive message handling with your own handler. /// </summary> public abstract TConfig ReplaceLegacyInteractiveMessageHandling(KeyedHandlerFactory <IInteractiveMessageHandler> handlerFactory);
/// <summary> /// Take over all legacy option providing with your own provider. /// </summary> public abstract TConfig ReplaceLegacyOptionProviding(KeyedHandlerFactory <IOptionProvider> providerFactory);
/// <summary> /// Take over all view submission handling with your own handler. /// </summary> public abstract TConfig ReplaceViewSubmissionHandling(KeyedHandlerFactory <IAsyncViewSubmissionHandler> handlerFactory);
/// <summary> /// Take over all slash command handling with your own handler. /// </summary> public abstract TConfig ReplaceSlashCommandHandling(KeyedHandlerFactory <IAsyncSlashCommandHandler> handlerFactory);
public override TConfig ReplaceLegacyDialogSubmissionHandling(KeyedHandlerFactory <IDialogSubmissionHandler> handlerFactory) => Chain(() => ReplaceKeyedHandling(handlerFactory));
/// <summary> /// Take over all block option providing with your own provider. /// </summary> public abstract TConfig ReplaceBlockOptionProviding(KeyedHandlerFactory <IBlockOptionProvider> providerFactory);
public override TConfig ReplaceLegacyOptionProviding(KeyedHandlerFactory <IOptionProvider> providerFactory) => Chain(() => ReplaceKeyedHandling(providerFactory));
public override TConfig ReplaceLegacyInteractiveMessageHandling(KeyedHandlerFactory <IInteractiveMessageHandler> handlerFactory) => Chain(() => ReplaceKeyedHandling(handlerFactory));
public override TConfig ReplaceSlashCommandHandling(KeyedHandlerFactory <IAsyncSlashCommandHandler> handlerFactory) => Chain(() => ReplaceKeyedHandling(handlerFactory));
public override TConfig ReplaceViewSubmissionHandling(KeyedHandlerFactory <IAsyncViewSubmissionHandler> handlerFactory) => Chain(() => ReplaceKeyedHandling(handlerFactory));
protected abstract void ReplaceKeyedHandling <THandler>(KeyedHandlerFactory <THandler> handlerFactory) where THandler : class;