public SlackRequestHandler( IEventHandler eventHandler, IAsyncBlockActionHandler blockActionHandler, IBlockOptionProvider blockOptionProvider, IInteractiveMessageHandler interactiveMessageHandler, IAsyncMessageShortcutHandler messageShortcutHandler, IAsyncGlobalShortcutHandler globalShortcutHandler, IOptionProvider optionProvider, IDialogSubmissionHandler dialogSubmissionHandler, IAsyncViewSubmissionHandler viewSubmissionHandler, IAsyncSlashCommandHandler slashCommandHandler, SlackJsonSettings jsonSettings) { _eventHandler = eventHandler; _blockActionHandler = blockActionHandler; _blockOptionProvider = blockOptionProvider; _interactiveMessageHandler = interactiveMessageHandler; _messageShortcutHandler = messageShortcutHandler; _globalShortcutHandler = globalShortcutHandler; _optionProvider = optionProvider; _dialogSubmissionHandler = dialogSubmissionHandler; _viewSubmissionHandler = viewSubmissionHandler; _slashCommandHandler = slashCommandHandler; _jsonSettings = jsonSettings; }
public SpecificMessageShortcutHandler(string callbackId, IAsyncMessageShortcutHandler handler) { _callbackId = callbackId; _handler = handler; }
public static IAsyncMessageShortcutHandler ToMessageShortcutHandler(this IAsyncMessageShortcutHandler handler, string callbackId) => new SpecificMessageShortcutHandler(callbackId, handler);
protected abstract void AddMessageShortcutHandler(IAsyncMessageShortcutHandler handler);
public TConfig RegisterAsyncMessageShortcutHandler(IAsyncMessageShortcutHandler handler) => Chain(() => AddMessageShortcutHandler(handler));
public TConfig RegisterAsyncMessageShortcutHandler(string callbackId, IAsyncMessageShortcutHandler handler) => RegisterAsyncMessageShortcutHandler(handler.ToMessageShortcutHandler(callbackId));
protected override void AddMessageShortcutHandler(IAsyncMessageShortcutHandler handler) => AddCollectionHandler(handler);