Рішення · Боти
VPS для Telegram-бота
Бот у режимі очікування споживає менше ста мегабайтів і майже весь час чекає, тож машина майже ніколи не є обмеженням: U1-1 за $6.90 на місяць повноцінно запускає одного бота. Насправді рахунок визначають медіа і те, чи запускаєте ви власний сервер Bot API. І те, й інше – арифметика, наведена нижче.
Рішення під рішенням
Вебхук чи long polling
Саме це, а не тариф, визначає, чи потрібні вашому боту домен, сертифікат і відкритий порт.
Long polling
Ваш бот підключається до Telegram і чекає оновлень. Ні домену, ні TLS-сертифіката, ні відкритого в інтернет порту, працює за NAT. Це найшвидший спосіб щось запустити і цілком добре постійне рішення для більшості ботів.
Вебхук
Telegram підключається до вас. Потрібні публічна адреса, дійсний сертифікат і відкритий порт (усе це може будь-який тариф тут), а натомість немає циклу опитування, і бот краще масштабується під реальним навантаженням. Переходьте, коли цього вимагають навантаження або затримка, не раніше.
Арифметика
Скільки ботів насправді вміщує тариф
Боти = (RAM − 300 MB на операційну систему) ÷ обсяг пам’яті одного бота. Два стовпці: бот команд без стану та бот з ORM, планувальником і кешем.
| Тариф | RAM | Легкі боти | Важкі боти | Трафік | Ціна | Розгорнути |
|---|---|---|---|---|---|---|
| U1-1Один бот, аудиторія будь-якого розміру | 1 GB | 12 | 4 | Unmetered | $6.90 | Розгорнути |
| C1-1-25Один бот, трафік рахується, але дешево | 1 GB | 12 | 4 | 1 TB | $9.90 | Розгорнути |
| GL2-4Кілька ботів або бот із базою даних | 4 GB | 63 | 25 | Unmetered | $11.90 | Розгорнути |
| BD-8Власний сервер Bot API | 8 GB | 131 | 52 | 32 TB | $12.90 | Розгорнути |
Кількості користувачів вашого бота в цій арифметиці немає, бо її немає і в задачі: Telegram передає вашому процесу оновлення по одному, а не відкриває з’єднання на кожного користувача. Відповідь змінює стан, який ви зберігаєте самі: великий кеш, вбудована в процес база даних, модель.
Число, яке визначає рахунок
Медіа, а не пам’ять
Середній розмір файлу × повідомлень на день × 30. Враховуються обидва напрямки: отриманий файл теж є трафіком.
| Що передає бот | 100/день | 5,000/день | 50,000/день |
|---|---|---|---|
| Лише текстКоманда і відповідь. Практично безкоштовно. | < 1 GB | < 1 GB | 3 GB |
| ФотоСтиснене зображення, надіслане й отримане. | < 1 GB | 44 GB | 439 GB |
| Голосові повідомлення та короткі відеоЗвичайне навантаження бота спільноти. | 9 GB | 439 GB | 4.3 TB |
| Документи та довгі відеоВласна стеля Telegram на завантаження для звичайного бота. | 59 GB | 2.9 TB | 28.6 TB |
Єдине, що змінює машину
Бот на публічному Bot API може завантажувати файли до 20 MB і вивантажувати до 50 MB (це обмеження Telegram, а не наші), і файли ніколи не потрапляють на ваш диск. Запустіть власний сервер Bot API, і стеля стане 2 GB, а кожен файл потраплятиме на ваш сервер. Саме тоді диск і трафік перестають бути другорядними: BD-8 дає 100 GB SSD і 32 TB за $12.90, що якраз підходить. Якщо ви цього не робите, не платіть за це.
Чесно кажучи
Що ми купили б насправді
Ми самі тримаємо Telegram-бота. Ось машина, на яку ми б його поставили.
Для одного бота
U1-1 · $6.90/міс
1 ядро, 1 GB, 15 GB SSD і без лічильника трафіку, тож бот, який несподівано почне передавати медіа, не створить рахунку, якого ви не очікували. Запустіть бота під systemd з Restart=always, і єдиною причиною його падіння залишиться ваш власний код. Якщо ви з нього виростете, перенести бота означає скопіювати каталог і токен.
Запитання