Introduction
Pour développer et héberger un bot Slack sur Square Cloud, il est essentiel de suivre une séquence structurée de configurations et de prérequis. Ce guide technique couvrira l’ensemble du processus, de la configuration initiale au déploiement en production.Prérequis
- Compte Square Cloud : Inscrivez-vous via la page d’inscription en utilisant votre adresse e-mail.
- Plan actif : Garantit des ressources dédiées et des performances optimisées pour votre application. Consultez nos plans disponibles et choisissez celui qui convient le mieux à vos besoins.
Création du projet
Pour créer un bot Slack, vous aurez besoin d’un compte et des permissions nécessaires pour créer des apps sur Slack. Créez ou accédez à votre compte sur Slack avant de suivre les étapes suivantes.Application bot sur Slack
- Rendez-vous sur Slack API - Your Apps et cliquez sur « Create New App ».
- Choisissez « From scratch », donnez un nom à l’app et sélectionnez le workspace où vous l’installerez.
- Dans la section « Socket Mode », activez le Socket Mode et générez un app-level token avec le scope
connections:write. Copiez-le (il commence parxapp-) : c’est votreSLACK_APP_TOKEN. - Dans la section « OAuth & Permissions », ajoutez les scopes dont votre bot a besoin (par exemple
chat:write,app_mentions:read,commands), installez l’app sur votre workspace et copiez le Bot User OAuth Token (il commence parxoxb-) : c’est votreSLACK_BOT_TOKEN. - Dans « Event Subscriptions », activez les événements et abonnez-vous à l’événement de bot
app_mention. Dans « Slash Commands », créez la commande/hello. Avec le Socket Mode activé, aucun des deux ne demande de Request URL.
Développement du projet
Utilisez les sections ci-dessous selon le langage que vous choisissez. Les deux exemples illustrent un bot qui répond aux mentions ou à des commandes simples.- Node.js - @slack/bolt
- Python - slack_bolt
Configuration de l’environnement Node.js
- Assurez-vous que Node.js est installé.
- Initialisez un projet et installez les dépendances :
Terminal
- Créez un fichier
index.jsavec le contenu suivant :
index.js
Configurer Square Cloud
Créez un fichiersquarecloud.app à la racine de votre projet, à côté de votre fichier principal. Il indique à Square Cloud comment exécuter votre bot :
MAINest le fichier que Square Cloud exécute, etMEMORYla RAM du bot en Mo. Les bots ont besoin d’au moins 256 Mo ; 512 Mo laissent de la marge pour évoluer.AUTORESTART=trueredémarre le bot s’il plante. Consultez le fonctionnement du redémarrage automatique.- Il n’y a pas de
SUBDOMAIN: en Socket Mode, le bot n’a besoin d’aucune URL publique.
Définir les tokens
Votre code lit les deux tokens depuis les variables d’environnementSLACK_BOT_TOKEN et SLACK_APP_TOKEN : ils n’entrent donc jamais dans vos fichiers. Définissez-les de l’une de ces façons :
- Tableau de bord : sur la page d’envoi, ouvrez Configuration avancée et ajoutez les deux variables. Pour un bot déjà déployé, ajoutez-les sur la page Variables d’environnement de l’application et redémarrez le bot.
- CLI : juste après avoir envoyé le bot (voir Déploiement), définissez-les avec
squarecloud app env setet redémarrez le bot :
Déploiement
Après avoir préparé les fichiers de votre projet, vous pouvez maintenant les téléverser sur Square Cloud et héberger votre projet. Pour ce faire, créez un fichier ZIP contenant tous les fichiers de votre projet.Via le tableau de bord
1
Accéder à la page d'upload
Accédez à la page d’upload et téléversez le fichier zip de votre projet.
2
Configurer votre environnement
Après avoir téléversé votre zip, vous devrez configurer le nom, le fichier principal ou l’environnement d’exécution ainsi que d’autres paramètres de votre projet.
Si vous téléversez un projet web, veillez à sélectionner « Publication Web » et à définir un sous-domaine pour votre projet.
Si vous téléversez un projet web, veillez à sélectionner « Publication Web » et à définir un sous-domaine pour votre projet.
3
Déployer votre projet
Enfin, cliquez sur le bouton « Deploy » pour héberger votre projet sur Square Cloud.
Une fois le déploiement effectué, vous pouvez suivre l’état et les logs de votre projet depuis le tableau de bord.
Une fois le déploiement effectué, vous pouvez suivre l’état et les logs de votre projet depuis le tableau de bord.

4
Confirmez que votre application est en ligne
Votre premier déploiement prend généralement moins d’une minute. Dans le tableau de bord, attendez que le statut de votre application affiche « en cours d’exécution » et vérifiez les logs pour détecter d’éventuelles erreurs de démarrage.
Si vous avez déployé un site web ou une API, ouvrez
Si vous avez déployé un site web ou une API, ouvrez
https://<votre-sous-domaine>.squareweb.app dans votre navigateur, vous devriez voir votre application répondre. Si vous avez déployé un bot, envoyez-lui une commande pour confirmer qu’il est en ligne.
Via la CLI
Pour utiliser cette méthode, votre projet a besoin d’un fichier de configuration nommésquarecloud.app à sa racine. Il indique à Square Cloud comment exécuter votre application.
Guide du fichier de configuration
Apprenez comment créer le fichier de configuration
squarecloud.app qui définit l’environnement de votre application.1
Installer la CLI
Installez la CLI Square Cloud. Si vous l’avez déjà, exécutez la même commande pour la mettre à jour :
2
Se connecter
Exécutez la commande ci-dessous. Elle ouvre votre navigateur : approuvez-y la connexion et la CLI est prête. Il n’y a aucune clé API à copier. Pour les scripts et la CI, consultez Authentification de la CLI.
3
Téléverser votre projet
Depuis le dossier de votre projet, exécutez la commande ci-dessous. La CLI compresse le dossier courant en zip, sans ce que liste Pour téléverser un zip que vous avez créé vous-même, passez-le avec
squarecloud.ignore, puis l’envoie :--file :4
Confirmez que votre application est en ligne
Votre premier déploiement prend généralement moins d’une minute. Vérifiez le statut et les logs de votre application directement depuis le terminal :Si vous avez déployé un site web ou une API, ouvrez
https://<votre-sous-domaine>.squareweb.app dans votre navigateur, vous devriez voir votre application répondre. Si vous avez déployé un bot, envoyez-lui une commande pour confirmer qu’il est en ligne.
Tester le bot
- Dans le panneau de l’app Slack, sous « OAuth & Permissions », installez l’app sur le workspace (si ce n’est pas déjà fait).
- Vérifiez les logs de l’application dans le tableau de bord Square Cloud pour repérer d’éventuelles erreurs de démarrage. Avec le Socket Mode, il n’y a aucune Request URL à configurer : le bot se connecte à Slack dès son démarrage.
- Invitez le bot dans un canal, puis mentionnez-le ou exécutez la commande
/hellopour valider les réponses.
Utiliser le mode HTTP au lieu du Socket Mode
Les apps qui utilisent le Socket Mode ne peuvent pas être listées dans le Slack Marketplace public. Si vous avez besoin que Slack envoie plutôt les événements en HTTP, exécutez le bot comme une application web :- Dans les paramètres de l’app Slack, désactivez le Socket Mode et copiez le Signing Secret (dans « Basic Information ») dans une variable d’environnement
SLACK_SIGNING_SECRET, définie de la même façon que les tokens. - Créez l’app avec le signing secret au lieu de l’app-level token, et écoutez sur le port indiqué dans la variable d’environnement
PORT:
0.0.0.0), ce que Square Cloud exige.
- Ajoutez un
SUBDOMAINà votre fichier de configuration (ou sélectionnez « Publication Web » et définissez un sous-domaine lors de l’envoi depuis le tableau de bord) pour que le bot obtienne une URL publique. Les applications web nécessitent au moinsMEMORY=512:
squarecloud.app
Une application envoyée sans sous-domaine ne peut pas en obtenir un plus tard. Si votre bot tourne déjà en Socket Mode, envoyez la version HTTP comme une nouvelle application.
- Dans « Event Subscriptions » et dans la slash command
/hello, définissez la Request URL surhttps://<subdomain>.squareweb.app/slack/events.
Ressources supplémentaires
Pour aller plus loin, consultez la documentation officielle de Slack :Prochaines étapes
L'application ne démarre pas
Corrigez les modules manquants, les erreurs de mémoire et les autres échecs au démarrage.
Variables d'environnement
Gérez les tokens de votre bot et vos autres secrets.
Bot Discord
Hébergez un bot Discord à côté de votre bot Slack.

