Aller au contenu
English

createSlackSource

import { createSlackSource } from "@elie-laloum/outpost";

Crée une source de déclencheur Slack pour les commandes slash et les charges interactives. Elle vérifie X-Slack-Signature sur v0:timestamp:body dans une fenêtre d’horodatage et utilise trigger_id comme livraison, en refusant les requêtes qui n’en ont pas ; kind vaut command ou le type d’interaction, et actor vaut slack:<user id>. Elle répond 200 avec un corps vide ; l’Events API n’est pas prise en charge.

Exemple complet et règles détaillées.

  • optionsRequis
    SlackRequestOptions
    Secret de signature de l’application Slack et fenêtre d’horodatage.
  • options.signingSecretRequis
    TriggerSecret
    Secret de signature de l’application Slack qui vérifie X-Slack-Signature, ou callback renvoyant chaque secret actuellement accepté (l’ancien et le nouveau pendant une rotation). Une chaîne vide lève une erreur à la création ; un callback en échec ou vide refuse les requêtes.
  • options.toleranceMsOptionnel
    number | undefined
    Écart d’horloge accepté pour l’horodatage de la requête, en millisecondes ; 300000 (5 minutes) par défaut. Une valeur qui n’est pas un entier positif lève une erreur à la création.

TriggerSource

export declare function createSlackSource(
  options: SlackRequestOptions,
): TriggerSource;