import { discordTriggerDefinitions as triggerDefinitions } from "@automate.ax/catalog/triggers/discord" import { createTrigger } from "../../automation/create-trigger" import type { IntegrationAccountReference } from "../../automation/integrations" /** Account selection shared by Discord HTTP webhook triggers. */ export interface DiscordTriggerOptions { /** Customer-managed Discord bot application to watch. */ account?: string | IntegrationAccountReference<"discord"> } /** Subscribes to every bot-relevant signed Discord HTTP webhook event. */ export const onDiscordWebhookEvent = createTrigger( triggerDefinitions.discordWebhookEvent, ) /** Subscribes when a user authorizes the Discord application. */ export const onDiscordApplicationAuthorized = createTrigger( triggerDefinitions.discordApplicationAuthorized, ) /** Subscribes when a user deauthorizes the Discord application. */ export const onDiscordApplicationDeauthorized = createTrigger( triggerDefinitions.discordApplicationDeauthorized, ) /** Subscribes when Discord creates an application entitlement. */ export const onDiscordEntitlementCreated = createTrigger( triggerDefinitions.discordEntitlementCreated, ) /** Subscribes when Discord updates an application entitlement. */ export const onDiscordEntitlementUpdated = createTrigger( triggerDefinitions.discordEntitlementUpdated, ) /** Subscribes when Discord deletes an application entitlement. */ export const onDiscordEntitlementDeleted = createTrigger( triggerDefinitions.discordEntitlementDeleted, )