VPS Bot Telegram

Un bot en ligne 24/7 avec webhooks HTTPS, disponibilité 99,99 % mesurée.

Configuration recommandée

Apex

4 vCore Ryzen 9 · 8 GB DDR5 · 100 GB NVMe Gen4 · 10 Gbps

à partir de

$49/mois

Déployer maintenant

Pourquoi ce cas d'usage

Un bot Telegram ne demande presque rien — sauf d'être toujours là

Un bot Telegram en Python consomme 80 MB de RAM et 1 % de CPU au repos. Même avec 10 000 utilisateurs actifs, on reste sous 1 GB. Le vrai enjeu n'est pas la puissance : c'est la disponibilité. Un bot qui héberge votre support client ou vos notifications de monitoring ne peut pas se permettre 3 heures d'arrêt parce que le VPS mutualisé d'à côté a saturé l'hyperviseur.

Sur un Apex (8 GB, 4 vCores Ryzen 9), vous faites tourner un bot Python, sa base PostgreSQL, un Redis pour les files de messages — et il vous reste de la marge pour trois autres projets. C'est le cas d'usage où notre plan d'entrée de gamme est objectivement surdimensionné, et c'est tant mieux.

Webhook ou polling ?

Deux modes pour recevoir les messages :

  • Polling (getUpdates) : le bot interroge Telegram toutes les secondes. Simple, fonctionne derrière n'importe quel NAT, mais ajoute ~1 s de latence et gaspille des requêtes.
  • Webhook : Telegram pousse chaque message en HTTPS vers votre serveur. Latence quasi nulle, charge nulle au repos. C'est le mode production — et il exige un serveur avec une IP publique stable et un certificat TLS. Autrement dit : un VPS.
import telebot
bot = telebot.TeleBot(TOKEN)
bot.set_webhook(url="https://bot.mondomaine.fr/tg")

Avec Caddy en reverse proxy, le certificat Let's Encrypt se renouvelle tout seul. Telegram n'accepte que les ports 443, 80, 88 et 8443 pour les webhooks.

Docker + systemd : le combo qui ne tombe pas

docker run -d --name monbot --restart unless-stopped \
  -v /srv/bot:/app monbot:latest

Ajoutez un healthcheck Docker qui relance le conteneur si la boucle asyncio se fige, et un timer systemd qui vérifie chaque minute que le webhook répond. Avec cela, la disponibilité de votre bot rejoint celle de notre infrastructure — 99,99 % mesurés sur nos monitors publics.

Sécurité du token

Le token BotFather donne le contrôle total du bot. Ne le committez jamais : passez-le en variable d'environnement Docker ou dans un fichier .env exclu de git. Si vous soupçonnez une fuite, /revoke chez BotFather en génère un nouveau instantanément — les webhooks à mettre à jour ensuite.

Monter en charge

Le jour où votre bot dépasse les 30 messages/seconde (limite Telegram par bot), la solution n'est pas un plus gros VPS mais l'architecture : file Redis + workers multiples. Un Apex absorbe cette architecture sans problème.

Démarrage rapide

  1. 1Déployez un Apex, Ubuntu 24.04.
  2. 2Créez votre bot chez BotFather, notez le token.
  3. 3Installez Docker, conteneurisez le bot avec --restart unless-stopped.
  4. 4Mettez Caddy en reverse proxy HTTPS sur le port 443.
  5. 5Enregistrez le webhook via l'API setWebhook.

Questions fréquentes

Ils l'utilisent en production

Apex

Trois ans chez eux, zéro interruption constatée sur nos monitors. La page statut publique est un vrai gage de transparence.

CD

Chloe Dubois

Canada · 27 oct. 2023

Achat vérifié