Slack
Exécutez votre agent ZeroClaw en tant que bot Slack. Ce guide vous accompagne étape par étape. À la fin, vous aurez un bot dans votre espace de travail qui répond lorsque les gens lui envoient un message ou le mentionnent avec @.
Qui peut parler à l’agent
Les expéditeurs entrants sont filtrés par rapport au peer set résolu pour l’agent lié, issu de la configuration peer_groups à laquelle l’agent appartient. La correspondance supprime le @ initial et est insensible à la casse par rapport à l’identifiant d’expéditeur natif du canal. Un ensemble vide refuse tout le monde ; un ensemble contenant "*" accepte n’importe qui ; sinon, seuls les pairs externes listés (et les agents pairs) sont acceptés. Ceci est distinct de l’appairage de la passerelle (gateway.require_pairing), qui authentifie les clients HTTP/WebSocket, et non les expéditeurs des canaux de discussion.
Un groupe de pairs pour slack définit channel à slack, liste les expéditeurs autorisés dans external_peers (pour slack, l’ID utilisateur Slack ; ["*"] accepte n’importe qui), nomme éventuellement des agents pairs pour la répartition inter-agents, une liste de blocage ignore, et une output_modality (mirror, voice ou text). Consultez Peer Groups pour la référence des champs.
Où définir ce paramètre :
Tableau de bord de la passerelle
Ouvrez /config/peer_groups dans le tableau de bord web.
zerocode
Dans le volet Config, sous Peer groups.
Démarrage rapide
Slack nécessite deux jetons : un jeton de bot (avec lequel le bot communique) et un jeton d’application (qui permet au bot de se connecter sans que vous ayez à héberger une URL publique). Les deux proviennent de la même page d’application.
1. Créez l’application Slack
- Allez sur api.slack.com/apps et cliquez sur Create New App -> From scratch.
- Nommez-la, choisissez votre espace de travail, puis Create App.
2. Ajoutez les permissions dont le bot a besoin
- Dans la barre latérale de gauche, ouvrez OAuth & Permissions.
- Sous Scopes -> Bot Token Scopes, ajoutez :
app_mentions:read,channels:history,chat:writeetchannels:read. (Ajoutez égalementim:historyetim:writesi vous souhaitez utiliser les messages directs.)
3. Activez le mode Socket et obtenez le jeton d’application
- Dans la barre latérale gauche, ouvrez Socket Mode et activez-le (on).
- Slack vous invite à créer un token de niveau application. Nommez-le, attribuez-lui la portée
connections:write, puis cliquez sur Generate. - Copiez le jeton qui commence par
xapp-. Il s’agit de votreapp_token.
Le mode Socket (Socket Mode) permet au bot de maintenir une connexion sortante vers Slack, ce qui vous évite d’avoir besoin d’une URL de webhook publique ou de toute redirection de port. C’est la solution la plus simple.
4. Installez l’application et obtenez le jeton du bot
- Ouvrez Install App dans la barre latérale et cliquez sur Install to Workspace, puis sur Allow.
- De retour sur OAuth & Permissions, copiez le Bot User OAuth Token qui commence par
xoxb-. Il s’agit de votrebot_token.
5. Indiquez les deux jetons à ZeroClaw
Les deux jetons sont des secrets, il faut donc les définir via une interface qui les chiffre :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack dans le tableau de bord web.
zerocode
Dans le volet Config, sous Channels.
channels.slack.<alias>.bot_tokenest un secret. Stocké de manière chiffrée, jamais en clair dansconfig.toml. Définissez-le via l’une de ces méthodes, qui chiffrent à l’écriture :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez-y le champ channels.slack.<alias>.bot_token.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.bot_token (la saisie est masquée).
zeroclaw config
zeroclaw config set channels.slack.<alias>.bot_token # demande une saisie masquée, stocke de manière chiffrée
Définissez app_token de la même manière (il s’agit du jeton xapp- de l’étape 3).
Alternative par variable d’environnement. Les deux jetons peuvent être fournis depuis l’environnement du démon plutôt que par le fichier de configuration : bot_token est résolu à partir de ZEROCLAW_SLACK_BOT_TOKEN, puis de SLACK_BOT_TOKEN ; app_token à partir de ZEROCLAW_SLACK_APP_TOKEN, puis de SLACK_APP_TOKEN. Une valeur du fichier de configuration est prioritaire sur l’environnement. Cela vous permet d’omettre entièrement bot_token du fichier config.toml (par exemple pour les gestionnaires de secrets qui injectent des variables d’environnement) sans que le chargement de la configuration n’échoue.
6. Invitez le bot et testez
Dans Slack, accédez à un canal et tapez /invite @YourBotName. Envoyez ensuite un message ou @-mentionnez le bot. Démarrez ZeroClaw (zeroclaw service restart ou zeroclaw daemon) et il devrait répondre. Sinon, consultez Dépannage.
Configuration
La liste complète des champs, dérivée du schéma en direct. Pour un bot Socket Mode basique, vous ne définissez que bot_token et app_token.
app_token 🔑
Jeton de niveau application Slack pour Socket Mode (xapp-…). Lorsqu’il n’est pas défini ou vide, il est résolu lors de la construction du canal à partir de ZEROCLAW_SLACK_APP_TOKEN, puis SLACK_APP_TOKEN. #[serde(default)] rend l’omission explicite (un champ Option est déjà omissible, mais cela le maintient cohérent avec bot_token).
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.app_token.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.app_token.
zeroclaw config
zeroclaw config set channels.slack.<alias>.app_token # entrée masquée, stockée chiffrée
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__app_token=
approval_timeout_secs
Nombre de secondes d’attente pour l’approbation de l’opérateur sur les outils always_ask avant le refus automatique.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.approval_timeout_secs.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.approval_timeout_secs.
zeroclaw config
zeroclaw config set channels.slack.<alias>.approval_timeout_secs <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__approval_timeout_secs=
bot_token 🔑
Jeton OAuth de bot Slack (xoxb-…). Optionnel dans la configuration : s’il est absent ou vide, il est résolu à la construction du canal depuis ZEROCLAW_SLACK_BOT_TOKEN, puis SLACK_BOT_TOKEN. #[serde(default)] permet à une configuration qui l’omet de se désérialiser sans erreur - le repli sur la variable d’environnement le fournit alors - au lieu d’échouer avec missing field 'bot_token'.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.bot_token.
zerocode
Dans le panneau Config, définissez le champ channels.slack.<alias>.bot_token.
zeroclaw config
zeroclaw config set channels.slack.<alias>.bot_token # entrée masquée, stockée chiffrée
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__bot_token=
cancel_reaction
Nom de la réaction emoji (sans les deux-points) qui annule une requête en cours. Par exemple, "x" signifie que réagir avec :x: annule la tâche. Laisser non défini pour désactiver l’annulation par réaction.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.cancel_reaction.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.cancel_reaction.
zeroclaw config
zeroclaw config set channels.slack.<alias>.cancel_reaction <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__cancel_reaction=
channel_ids
Liste explicite des identifiants de canaux à surveiller. Vide = écoute sur tous les canaux accessibles. Migré depuis l’ancien champ singulier channel_id.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.channel_ids.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.channel_ids.
zeroclaw config
zeroclaw config set channels.slack.<alias>.channel_ids <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__channel_ids=
draft_update_interval_ms
Intervalle minimal (ms) entre les modifications d’un message brouillon afin d’éviter les limites de débit de Slack.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.draft_update_interval_ms.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.draft_update_interval_ms.
zeroclaw config
zeroclaw config set channels.slack.<alias>.draft_update_interval_ms <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__draft_update_interval_ms=
excluded_tools
Outils exclus de la spécification d’outils de ce canal. Lorsque ce paramètre est défini, ces outils ne sont pas exposés au modèle lors des réponses via ce canal.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.excluded_tools.
zerocode
Dans le panneau Config, définissez le champ channels.slack.<alias>.excluded_tools.
zeroclaw config
zeroclaw config set channels.slack.<alias>.excluded_tools <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__excluded_tools=
interrupt_on_new_message
Lorsque cette option est définie sur true, un message Slack plus récent du même expéditeur dans le même canal annule la requête en cours et démarre une nouvelle réponse avec l’historique préservé.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.interrupt_on_new_message.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.interrupt_on_new_message.
zeroclaw config
zeroclaw config set channels.slack.<alias>.interrupt_on_new_message <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__interrupt_on_new_message=
mention_only
Lorsque la valeur est true, ne répondre qu’aux messages qui mentionnent le bot avec @ dans les groupes. Les messages directs restent autorisés.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.mention_only.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.mention_only.
zeroclaw config
zeroclaw config set channels.slack.<alias>.mention_only <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__mention_only=
proxy_url
URL de proxy par canal (http, https, socks5, socks5h). Remplace le paramètre global [proxy] pour ce canal uniquement.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.proxy_url.
zerocode
Dans le panneau Config, définissez le champ channels.slack.<alias>.proxy_url.
zeroclaw config
zeroclaw config set channels.slack.<alias>.proxy_url <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__proxy_url=
reply_min_interval_secs
Plancher de cadencement sortant par (canal, destinataire) en secondes. Plage : 0..=REPLY_MIN_INTERVAL_MAX_SECS (0 désactive).
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.reply_min_interval_secs.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.reply_min_interval_secs.
zeroclaw config
zeroclaw config set channels.slack.<alias>.reply_min_interval_secs <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__reply_min_interval_secs=
reply_queue_depth_max
Profondeur de la file d’attente de régulation sortante par (canal, destinataire). Plage : 0..=REPLY_QUEUE_DEPTH_CEILING. Lorsque reply_min_interval_secs > 0 et que cette valeur est 0, le wrapper de régulation substitue DEFAULT_REPLY_QUEUE_DEPTH (16). Lorsque la file d’attente est pleine, l’envoi le plus récent est abandonné et un WARN est journalisé.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.reply_queue_depth_max.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.reply_queue_depth_max.
zeroclaw config
zeroclaw config set channels.slack.<alias>.reply_queue_depth_max <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__reply_queue_depth_max=
stream_drafts
Activer la diffusion progressive des brouillons de messages via chat.update.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.stream_drafts.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.stream_drafts.
zeroclaw config
zeroclaw config set channels.slack.<alias>.stream_drafts <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__stream_drafts=
strict_mention_in_thread
Lorsque cette option est définie sur true (et que mention_only est également true), les messages au sein d’un fil de discussion Slack doivent aussi @-mentionner le bot pour déclencher une réponse. Par défaut, les réponses dans les fils de discussion sont autorisées sans mention afin que le bot puisse poursuivre un échange sans que l’utilisateur ait à répéter les @-mentions. Définissez cette option sur true dans les canaux partagés avec des discussions humaines où le bot doit rester silencieux sauf s’il est explicitement sollicité.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.strict_mention_in_thread.
zerocode
Dans le panneau Config, définissez le champ channels.slack.<alias>.strict_mention_in_thread.
zeroclaw config
zeroclaw config set channels.slack.<alias>.strict_mention_in_thread <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__strict_mention_in_thread=
thread_context_max_messages
Messages précédents du fil à charger lors de la première interaction avec le bot. 0 désactive le chargement. Maximum : 50.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.thread_context_max_messages.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.thread_context_max_messages.
zeroclaw config
zeroclaw config set channels.slack.<alias>.thread_context_max_messages <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__thread_context_max_messages=
thread_replies
Lorsque la valeur est true (par défaut), les réponses restent dans le fil de discussion Slack d’origine. Lorsque la valeur est false, les réponses sont envoyées à la racine du canal à la place.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.thread_replies.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.thread_replies.
zeroclaw config
zeroclaw config set channels.slack.<alias>.thread_replies <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__thread_replies=
use_markdown_blocks
Utilisez le type de bloc Slack markdown plus récent (limite de 12 000 caractères, mise en forme plus riche). La valeur par défaut est false (utilise les blocs section avec mrkdwn, pris en charge universellement). Activez cette option uniquement si votre espace de travail Slack prend en charge le type de bloc markdown.
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.use_markdown_blocks.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.use_markdown_blocks.
zeroclaw config
zeroclaw config set channels.slack.<alias>.use_markdown_blocks <value>
Variable d’environnement
Exportez le remplacement (shells POSIX ; à placer dans ~/.bashrc, ~/.zshrc, .env ou un Dockerfile). Remplacez <alias> par l’alias littéral :
export ZEROCLAW_channels__slack__<alias>__use_markdown_blocks=
Socket Mode vs HTTP
Lorsque app_token est défini, le bot utilise le Socket Mode : il établit une connexion sortante vers Slack, donc aucune URL publique n’est requise. C’est la configuration recommandée et celle utilisée par le démarrage rapide ci-dessus. Sans app_token, Slack doit atteindre votre bot via HTTP, ce qui implique d’héberger un point de terminaison d’événements public, plus de configuration et plus d’éléments à sécuriser.
Threads et contexte
Lorsqu’une conversation Slack se déroule dans un fil de discussion, ce fil constitue sa propre conversation. ZeroClaw dérive une clé de session distincte par fil, de sorte que chaque fil dispose d’une fenêtre de contexte et d’un historique indépendants : les messages d’un fil ne débordent jamais dans un autre, et l’agent ne voit pas les tours précédents d’un fil voisin. Pour Slack, ce comportement est contrôlé par thread_replies : lorsque cette option est activée, les messages de premier niveau ouvrent un fil et chaque fil est une conversation distincte ; lorsqu’elle est désactivée, les réponses sont publiées à la racine du canal et l’historique est indexé par expéditeur et destinataire plutôt que par fil.
- L’isolation est l’objectif. Le contexte de chaque thread est autonome : il ne fuit pas en dehors du thread, et rien de l’extérieur du thread ne s’y infiltre. Les threads parallèles conservent des états conversationnels distincts, de sorte que des tâches sans rapport ne se contaminent jamais entre elles.
- Les threads longs font croître le contexte. Un thread accumule l’historique tant qu’il reste actif, donc un thread très long finit par remplir la fenêtre de contexte du modèle comme toute autre conversation longue. Démarrez un nouveau thread pour réinitialiser.
- Le travail en cours est limité à chaque fil de discussion. Un nouveau message dans un fil n’annule pas une réponse en cours dans un autre ; la tâche de chaque fil est indépendante.
Définissez le comportement du thread sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et activez/désactivez le champ channels.slack.<alias>.thread_replies.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.thread_replies.
zeroclaw config
zeroclaw config set channels.slack.<alias>.thread_replies true # réponses en fil de discussion activées
zeroclaw config set channels.slack.<alias>.thread_replies false # réponses à la racine du canal
strict_mention_in_thread renforce encore ce comportement : lorsque la valeur est true, le bot ne répond dans un fil de discussion que si un message y mentionne le bot avec @, au lieu de répondre à chaque message d’un fil dont il fait partie.
Lors du premier message que ZeroClaw traite dans un fil existant, il récupère les réponses précédentes et ajoute en préfixe un bloc limité [Thread context] afin que l’agent puisse répondre en tenant compte de la discussion précédente. thread_context_max_messages contrôle le nombre de messages précédents les plus récents disponibles dans la fenêtre de récupération qui sont inclus, tout en conservant l’ordre chronologique. La valeur par défaut est 0, la valeur maximale est 50, et 0 désactive cette hydratation automatique. Définissez explicitement une valeur non nulle pour l’activer.
Une hydratation effectue au maximum trois tentatives au total de conversations.replies, y compris les nouvelles tentatives après des réponses HTTP 429. ZeroClaw respecte la valeur Retry-After de Slack avant de réessayer tant qu’il reste du budget de requêtes. Si un fil plus long comporte encore une autre page, ZeroClaw utilise le contexte partiel borné, ajoute un marqueur d’omission et enregistre le fil comme hydraté afin que les réponses ultérieures ne relancent pas l’analyse. Un échec de l’API Slack n’abandonne pas le message actuel ; il ignore l’hydratation et libère la réservation afin que la prochaine réponse éligible puisse réessayer.
Mentions et mise en forme
mention_only: lorsque la valeur esttrue, le bot ne répond qu’aux messages qui le @-mentionnent, ce qui lui permet de rester silencieux dans les canaux très actifs.use_markdown_blocks: affiche les réponses avec la mise en forme Slack Block Kit pour une mise en page plus riche. Désactivez cette option pour du texte brut.
Diffusion en continu
Slack diffuse les réponses en continu via le booléen stream_drafts :
false(par défaut) : la réponse entière est publiée en un seul message une fois que l’agent a terminé.true: le bot publie immédiatement un message provisoire et le modifie sur place au fur et à mesure que la réponse arrive en streaming.draft_update_interval_msrégule la fréquence des modifications ; augmentez-le si Slack les limite (rate-limit).
Posez-le sur n’importe quelle surface :
Tableau de bord de la passerelle
Ouvrez /config/channels/slack et définissez le champ channels.slack.<alias>.stream_drafts.
zerocode
Dans le volet Config, définissez le champ channels.slack.<alias>.stream_drafts.
zeroclaw config
zeroclaw config set channels.slack.<alias>.stream_drafts <value>
draft_update_interval_ms contrôle la fréquence à laquelle le brouillon en streaming est modifié (augmentez-le si Slack limite le débit des modifications), et cancel_reaction définit un emoji avec lequel les utilisateurs peuvent réagir pour annuler une réponse en cours.
Dépannage
| Symptôme | Cause probable | Corriger |
|---|---|---|
| Le bot se connecte mais ne répond jamais | Le bot n’a pas été invité dans le canal | /invite @YourBot dans le canal |
| “not_authed” / “invalid_auth” au démarrage | bot_token incorrect ou manquant | Recopiez le jeton xoxb- (étape 4) |
| Le bot ne se connecte jamais | app_token manquant ou Socket Mode désactivé | Activez le mode Socket (Socket Mode) et définissez le jeton xapp- (étape 3) |
| Le bot ignore la plupart des messages | mention_only = true | @-mentionnez le bot, ou définissez-le sur false |
| Les réponses n’ont aucune mise en forme | use_markdown_blocks = false | Définissez-le sur true |
Voir aussi
- Qui peut parler à l’agent (groupes de pairs)
- Discord
- Vue d’ensemble des canaux