Comment héberger un bot Telegram
Sur cette page
Un bot Telegram ne répond que tant que son code tourne. Créez-le sur votre portable et il se tait dès que celui-ci se met en veille — tôt ou tard, chaque bot a donc besoin d'un endroit qui reste allumé.
Ce guide couvre tout le parcours : créer le bot avec BotFather, choisir entre polling et webhooks, un exemple fonctionnel en Python et en JavaScript, les limites et règles fixées par Telegram, et comment garder le bot en ligne 24/7.
Étape 1 : créer le bot avec BotFather
- Dans Telegram, ouvrez @BotFather et envoyez
/newbot. - Donnez au bot un nom d'affichage, puis un nom d'utilisateur : 5 à 32 caractères, lettres latines, chiffres et underscores, se terminant par
bot— par exemplemy_shop_helper_bot. - BotFather répond avec le token, qui ressemble à
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Quiconque le possède contrôle votre bot : gardez-le hors de votre code et ne le partagez jamais. S'il a fuité, envoyez/tokenà BotFather pour en obtenir un nouveau.
Deux autres commandes BotFather utiles : /setcommands ajoute la liste de commandes que les utilisateurs voient en tapant /, et /setprivacy contrôle ce que le bot voit dans les groupes. Par défaut, le mode confidentialité est activé : dans un groupe, le bot ne reçoit que les commandes qui lui sont destinées et les réponses à ses propres messages — sauf si vous en faites un administrateur.
Polling ou webhooks ?
Un bot reçoit ses messages de Telegram de l'une de deux façons — jamais les deux en même temps :
| Long polling | Webhook | |
|---|---|---|
| Fonctionnement | Le bot demande sans cesse à Telegram les nouveaux messages via une seule connexion ouverte | Telegram envoie chaque mise à jour à votre adresse HTTPS |
| Prérequis | Un simple accès Internet sortant | Un domaine, un certificat valide et le port 443, 80, 88 ou 8443 |
| Idéal pour | Presque tous les bots, et le plus simple à héberger | Les bots très sollicités ou les plateformes serverless |
Commencez par le polling. Il ne demande ni domaine, ni certificat, ni port ouvert, et toutes les bibliothèques le prennent en charge. Si un webhook a déjà été défini sur le token, appelez d'abord deleteWebhook — le polling ne fonctionne pas tant qu'un webhook est actif.
Les bots en polling tournent sur l'hébergement de bots HytHost sans domaine ni port ouvert à configurer — Python ou Node.js dès €0.89/mois.
Voir les offres d'hébergement de botsÉtape 2a : un bot en Python (python-telegram-bot)
python-telegram-bot 22 nécessite Python 3.10 ou plus récent. Installez-le avec pip install python-telegram-bot et créez bot.py :
import os
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes, MessageHandler, filters
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text("Hi! Send me a message and I will echo it.")
async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text(update.message.text)
def main() -> None:
application = Application.builder().token(os.environ["TELEGRAM_TOKEN"]).build()
application.add_handler(CommandHandler("start", start))
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo))
application.run_polling(allowed_updates=Update.ALL_TYPES)
if __name__ == "__main__":
main()
aiogram 3 est l'autre choix populaire en Python, lui aussi sur Python 3.10 ou plus récent.
Étape 2b : un bot en JavaScript (grammY)
grammY est le framework Telegram activement maintenu pour Node.js. Lancez npm install grammy et créez bot.js :
const { Bot } = require("grammy");
const bot = new Bot(process.env.TELEGRAM_TOKEN);
bot.command("start", (ctx) => ctx.reply("Welcome! Up and running."));
bot.on("message:text", (ctx) => ctx.reply(ctx.message.text));
process.once("SIGINT", () => bot.stop());
process.once("SIGTERM", () => bot.stop());
bot.start();
Les anciens tutoriels utilisent Telegraf, qui n'a plus eu de version depuis février 2024 ; pour un nouveau bot, grammY est le choix le plus sûr.
Limites et règles de Telegram pour les bots
Limites tirées de la FAQ de Telegram sur les bots :
- Environ un message par seconde dans une même discussion, 20 messages par minute dans un groupe, et environ 30 messages par seconde au total.
- Fichiers : le bot peut envoyer jusqu'à 50 MB et télécharger jusqu'à 20 MB.
- Une seule copie du bot peut faire du polling à la fois. Une deuxième reçoit Conflict: terminated by other getUpdates request — utilisez un token distinct pour les tests.
Règles : les conditions de Telegram pour les développeurs de bots interdisent le spam, les messages non sollicités et le contournement des limites de débit. Un bot doit avoir une politique de confidentialité (celle de Telegram s'applique par défaut si vous n'écrivez pas la vôtre) et doit supprimer les données d'un utilisateur sur demande. Automatiser un compte personnel au lieu d'un bot — ce qu'on appelle un userbot — est une tout autre affaire, et Telegram bannit les comptes utilisés pour le flood ou le spam.
Hébergement de bots Telegram chez HytHost
Nos offres d'hébergement de bots font tourner les bots Telegram aussi bien que les bots Discord :
- Choisissez une offre et le runtime — Python pour python-telegram-bot ou aiogram, Node.js pour grammY. Sélectionnez Python 3.10 ou plus récent, ou une version actuelle de Node.js, dans l'onglet Startup.
- Envoyez votre code avec le gestionnaire de fichiers ou en SFTP, accompagné de
requirements.txtoupackage.json. - Placez le token dans un fichier
.envou une variable d'environnement, pas dans le code. - Démarrez-le. En polling, le bot n'a besoin ni de domaine ni de port ouvert ; le panel le redémarre s'il plante.
Ce que nos règles autorisent : les bots basés sur la Bot API officielle avec un token BotFather. Interdits : les userbots qui automatisent un compte personnel, les messages de masse non sollicités, le scraping d'utilisateurs ou de groupes, et les bots qui téléchargent et redistribuent des médias sans en détenir les droits. Un bot qui enfreint ces règles est suspendu.
Les offres incluent une base de données MySQL et des sauvegardes. Vous créez aussi un bot Discord ? Consultez comment créer un bot Discord.
Gardez votre bot Telegram en ligne 24/7 sans votre PC : hébergement de bots Python ou Node.js dès €0.89/mois, redémarrages inclus.
Voir les offres d'hébergement de botsQuestions fréquentes
Vous pouvez le faire tourner gratuitement sur votre propre ordinateur, mais il se déconnecte dès que l'ordinateur se met en veille ou redémarre. Les offres cloud gratuites mettent souvent en pause les applications inactives ou en limitent l'usage. Pour un bot qui reste en ligne, un petit hébergement payant est l'option fiable.
Le polling pour presque tous les bots : il ne demande ni domaine, ni certificat, ni port ouvert. Les webhooks conviennent aux bots très sollicités ou aux plateformes serverless, et nécessitent HTTPS sur le port 443, 80, 88 ou 8443. Un token ne peut pas utiliser les deux à la fois.
Envoyez /token à @BotFather et choisissez le bot pour obtenir un nouveau token, puis mettez-le à jour partout où le bot tourne. Gardez le token dans une variable d'environnement ou un fichier .env, jamais dans du code que vous partagez.
Deux copies du bot font du polling avec le même token, par exemple une sur votre PC et une sur le serveur. Arrêtez l'une des deux, et utilisez un bot et un token distincts pour les tests.
Très peu. Un bot Python ou Node.js classique qui répond à des commandes tourne généralement bien avec 512 MB ; les bots qui traitent des images ou gardent beaucoup de données en mémoire en demandent davantage.
Votre bot Telegram, en ligne 24/7
L'hébergement de bots HytHost fait tourner votre bot Telegram Python ou Node.js avec redémarrages automatiques, une base de données MySQL et des sauvegardes — dès €0.89/mois.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursCe guide vous a-t-il été utile ?