Introduction
Pour développer et héberger un bot Telegram 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éer le projet
Un compte Telegram est essentiel pour tester et interagir avec votre bot. Si vous n’en avez pas, visitez le site officiel de Telegram pour créer votre compte.Application bot sur Telegram
Trouver BotFather

Obtenir le token
/start. Ensuite, sélectionnez l’option /newbot pour créer un nouveau bot. Le système vous demandera un nom pour votre bot et, après confirmation, générera automatiquement le token d’authentification nécessaire.
Développer le bot
Écrivez le bot avec grammY (Node.js) ou pyTelegramBotAPI (Python). Les deux exemples renvoient chaque message texte en écho :- Node.js - grammY
- Python - telebot
- Vérifiez que Node.js est installé sur votre système. Sinon, téléchargez-le depuis le site officiel de Node.js.
- Initialisez un nouveau projet Node.js :
- Installez la bibliothèque grammY :
- Créez le fichier principal (
index.js) avec la structure suivante :
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 long polling, le bot n’a besoin d’aucune URL publique.
Définir le token du bot
Votre code lit le token depuis la variable d’environnementTELEGRAM_BOT_TOKEN : le token n’entre donc jamais dans vos fichiers. Définissez-le de l’une de ces façons :
- Tableau de bord : sur la page d’envoi, ouvrez Configuration avancée et ajoutez une variable nommée
TELEGRAM_BOT_TOKENavec votre token comme valeur. Pour un bot déjà déployé, ajoutez-la sur la page Variables d’environnement de l’application et redémarrez le bot. - CLI : juste après avoir envoyé le bot (voir Déployer et vérifier), définissez-la avec
squarecloud app env setet redémarrez le bot :
Contenu du ZIP
- Votre fichier principal (
index.jsoumain.py) et vos autres fichiers source. package.jsonourequirements.txt.squarecloud.app.
node_modules, .venv et __pycache__ : Square Cloud installe vos dépendances au démarrage du bot.
Déployer et vérifier
Créez le ZIP décrit ci-dessus, puis envoyez-le :Via le tableau de bord
Accéder à la page d'upload
Configurer votre environnement
Si vous téléversez un projet web, veillez à sélectionner « Publication Web » et à définir un sous-domaine pour votre projet.
Déployer votre projet
Une fois le déploiement effectué, vous pouvez suivre l’état et les logs de votre projet depuis le tableau de bord.

Confirmez que votre application est en ligne
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
squarecloud.app qui définit l’environnement de votre application.Installer la CLI
Se connecter
Téléverser votre projet
squarecloud.ignore, puis l’envoie :--file :Confirmez que votre application est en ligne
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
Après le déploiement, trouvez votre bot sur Telegram et envoyez-lui un message. Le bot répond avec le même texte, ce qui confirme qu’il fonctionne.
Erreurs courantes
Error 409: Conflict: terminated by other getUpdates request
Une autre copie du bot lit les mises à jour avec le même token, par exemple celle que vous avez lancée sur votre ordinateur. Telegram ne livre les mises à jour qu’à une seule connexion en long polling par bot. Arrêtez l’autre copie, ou révoquez le token dans BotFather si vous ne savez pas où elle tourne, puis définissez le nouveau token et redémarrez le bot.Error 401: Unauthorized
Le token est incorrect ou a été révoqué. Copiez le token actuel depuis BotFather, définissez-le à nouveau et redémarrez le bot.Token vide ou KeyError: 'TELEGRAM_BOT_TOKEN'
La variable TELEGRAM_BOT_TOKEN n’est pas définie : grammY s’arrête avec Empty token!, et l’exemple Python s’arrête avec un KeyError. Définissez la variable, comme dans Définir le token du bot, et redémarrez le bot.

