Lösungen · Bots
VPS für einen Telegram-Bot mieten
Ein Bot belegt im Leerlauf unter hundert Megabyte und verbringt sein Leben mit Warten, die Maschine ist also fast nie der Engpass: U1-1 für $6.90 im Monat betreibt einen problemlos. Was Ihre Rechnung tatsächlich bestimmt, sind Medien und ob Sie einen eigenen Bot-API-Server betreiben. Beides ist Rechnerei, und beides steht unten.
Die Entscheidung hinter der Entscheidung
Webhook oder Long Polling
Das entscheidet, nicht der Tarif, ob Ihr Bot eine Domain, ein Zertifikat und einen offenen Port braucht.
Long Polling
Ihr Bot verbindet sich ausgehend mit Telegram und wartet auf Updates. Keine Domain, kein TLS-Zertifikat, kein zum Internet offener Port, funktioniert hinter NAT. So bekommen Sie am schnellsten etwas zum Laufen, und für die meisten Bots ist das eine völlig gute Dauerlösung.
Webhook
Telegram verbindet sich mit Ihnen. Erfordert eine öffentliche Adresse, ein gültiges Zertifikat und einen offenen Port, was jeder Tarif hier kann; im Gegenzug gibt es keine Polling-Schleife und es skaliert besser unter echter Last. Wechseln Sie, wenn Last oder Latenz es verlangen, nicht früher.
Die Rechnung
Wie viele Bots ein Tarif tatsächlich trägt
Bots = (RAM − 300 MB Betriebssystem) ÷ Bedarf eines Bots. Die beiden Spalten sind ein zustandsloser Befehls-Bot und einer mit ORM, Scheduler und Cache.
| Tarif | RAM | Leichte Bots | Schwere Bots | Traffic | Preis | Bereitstellen |
|---|---|---|---|---|---|---|
| U1-1Ein Bot, jede Publikumsgröße | 1 GB | 12 | 4 | Unmetered | $6.90 | Bereitstellen |
| C1-1-25Ein Bot, mit Trafficzählung, aber günstig | 1 GB | 12 | 4 | 1 TB | $9.90 | Bereitstellen |
| GL2-4Mehrere Bots oder ein Bot mit Datenbank | 4 GB | 63 | 25 | Unmetered | $11.90 | Bereitstellen |
| BD-8Ein selbst gehosteter Bot-API-Server | 8 GB | 131 | 52 | 32 TB | $12.90 | Bereitstellen |
Die Zahl der Nutzer Ihres Bots kommt in dieser Rechnung nicht vor, weil sie im Problem nicht vorkommt: Telegram übergibt Ihrem Prozess Updates nacheinander, statt pro Nutzer eine Verbindung zu öffnen. Was die Antwort ändert, ist Zustand, den Sie selbst halten: ein großer Cache, eine Datenbank im Prozess, ein Modell.
Die Zahl, die über die Rechnung entscheidet
Medien, nicht Arbeitsspeicher
Durchschnittliche Dateigröße × Nachrichten pro Tag × 30. Beide Richtungen zählen: Auch eine empfangene Datei ist Traffic.
| Was der Bot überträgt | 100/Tag | 5,000/Tag | 50,000/Tag |
|---|---|---|---|
| Nur TextEin Befehl und eine Antwort. Praktisch vernachlässigbar. | < 1 GB | < 1 GB | 3 GB |
| FotosEin komprimiertes Bild, gesendet und empfangen. | < 1 GB | 44 GB | 439 GB |
| Sprachnachrichten und kurze VideosDie übliche Last eines Community-Bots. | 9 GB | 439 GB | 4.3 TB |
| Dokumente und lange VideosTelegrams eigene Download-Obergrenze für einen einfachen Bot. | 59 GB | 2.9 TB | 28.6 TB |
Das Einzige, was die Maschine ändert
Ein Bot an der öffentlichen Bot API kann Dateien bis 20 MB herunterladen und bis 50 MB hochladen (Telegrams Grenzen, nicht unsere), und die Dateien berühren Ihre Festplatte nie. Betreiben Sie einen eigenen Bot-API-Server, liegt die Obergrenze bei 2 GB und jede Datei landet auf Ihrem Server. Ab hier sind Speicherplatz und Traffic nicht mehr nebensächlich: BD-8 bietet 100 GB SSD und 32 TB für $12.90, genau das passende Profil. Wenn Sie das nicht tun, zahlen Sie nicht dafür.
Ehrlich gesagt
Was wir tatsächlich kaufen würden
Wir betreiben selbst einen Telegram-Bot. Auf diese Maschine würden wir ihn setzen.
Für einen Bot
U1-1 · $6.90/Monat
1 Kern, 1 GB, 15 GB SSD und kein Traffic-Zähler: Ein Bot, der unerwartet Medien überträgt, kann Ihnen keine unerwartete Rechnung bescheren. Betreiben Sie den Bot unter systemd mit Restart=always, dann kann er nur noch durch Ihren eigenen Code ausfallen. Wenn Sie herauswachsen, heißt einen Bot umziehen: ein Verzeichnis und ein Token kopieren.
Fragen