Solutions · Bots
Un VPS pour un bot Telegram
Un bot au repos consomme moins d’une centaine de mégaoctets et passe sa vie à attendre : la machine n’est donc presque jamais la contrainte, et U1-1 à $6.90 par mois en fait tourner un correctement. Ce qui décide vraiment de votre facture, ce sont les médias, et le fait d’exécuter ou non votre propre serveur Bot API. Les deux relèvent du calcul, et les deux sont détaillés ci-dessous.
La décision derrière la décision
Webhook ou long polling
C’est cela, et non l’offre, qui détermine si votre bot a besoin d’un domaine, d’un certificat et d’un port ouvert.
Long polling
Votre bot se connecte à Telegram et attend les mises à jour. Pas de domaine, pas de certificat TLS, aucun port ouvert sur Internet, fonctionne derrière un NAT. C’est le moyen le plus rapide de faire tourner quelque chose, et c’est une solution permanente tout à fait valable pour la plupart des bots.
Webhook
Telegram se connecte à vous. Il faut une adresse publique, un certificat valide et un port ouvert, ce que permet n’importe quelle offre ici ; en échange, il n’y a pas de boucle de polling et la montée en charge est meilleure sous une vraie charge. Passez-y quand la charge ou la latence l’exige, pas avant.
Le calcul
Combien de bots une offre peut réellement accueillir
Bots = (RAM − 300 MB pour le système d’exploitation) ÷ ce qu’occupe un bot. Les deux colonnes correspondent à un bot de commandes sans état et à un bot avec un ORM, un planificateur et un cache.
| Offre | RAM | Bots légers | Bots lourds | Transfert | Prix | Déployer |
|---|---|---|---|---|---|---|
| U1-1Un bot, quelle que soit la taille de l’audience | 1 GB | 12 | 4 | Unmetered | $6.90 | Déployer |
| C1-1-25Un bot, trafic compté mais bon marché | 1 GB | 12 | 4 | 1 TB | $9.90 | Déployer |
| GL2-4Plusieurs bots, ou un bot avec une base de données | 4 GB | 63 | 25 | Unmetered | $11.90 | Déployer |
| BD-8Un serveur Bot API auto-hébergé | 8 GB | 131 | 52 | 32 TB | $12.90 | Déployer |
Le nombre d’utilisateurs de votre bot n’entre pas dans ce calcul, car il n’entre pas dans le problème : Telegram transmet les mises à jour à votre processus une par une, au lieu d’ouvrir une connexion par utilisateur. Ce qui change la réponse, c’est l’état que vous conservez vous-même : un gros cache, une base de données intégrée au processus, un modèle.
Le chiffre qui détermine la facture
Les médias, pas la mémoire
Taille moyenne des fichiers × messages par jour × 30. Les deux sens comptent : un fichier reçu est aussi du trafic.
| Ce que le bot transfère | 100/jour | 5,000/jour | 50,000/jour |
|---|---|---|---|
| Texte uniquementUne commande et une réponse. Quasiment rien. | < 1 GB | < 1 GB | 3 GB |
| PhotosUne image compressée, envoyée et reçue. | < 1 GB | 44 GB | 439 GB |
| Messages vocaux et courtes vidéosLa charge habituelle d’un bot communautaire. | 9 GB | 439 GB | 4.3 TB |
| Documents et vidéos longuesLe plafond de téléchargement propre à Telegram pour un bot standard. | 59 GB | 2.9 TB | 28.6 TB |
La seule chose qui change la machine
Un bot sur la Bot API publique peut télécharger des fichiers jusqu’à 20 MB et en envoyer jusqu’à 50 MB (limites de Telegram, pas les nôtres), et les fichiers ne touchent jamais votre disque. Exécutez votre propre serveur Bot API et le plafond passe à 2 GB, chaque fichier arrivant sur votre serveur. C’est là que le disque et le transfert cessent d’être accessoires : BD-8 vous offre 100 GB de SSD et 32 TB pour $12.90, le profil qui convient. Si vous ne faites pas cela, ne payez pas pour.
En toute franchise
Ce que nous achèterions vraiment
Nous faisons tourner nous-mêmes un bot Telegram. Voici la machine sur laquelle nous le mettrions.
Pour un bot
U1-1 · $6.90/mois
1 cœur, 1 GB, 15 GB SSD, et aucun compteur de trafic : un bot qui se met soudain à transférer des médias ne peut pas générer une facture inattendue. Placez le bot sous systemd avec Restart=always, et la seule façon restante pour qu’il tombe, c’est votre propre code. Si vous le dépassez, déplacer un bot revient à copier un répertoire et un jeton.
Questions