НОВОЕ 📢 Ограниченное стартовое предложение: скидка до 70% на первый месяц для любой игры!Посмотреть тарифы

Как запустить бота для Telegram, Twitch, Slack или Matrix

Хостинг Discord-ботовUpdated Oct 29, 20265 min read

Тариф для ботов запускает не только Discord-ботов. Для Telegram выберите Telegram, когда в заказе спрашивают Для какой платформы ваш бот?: тогда на странице Бот появится раздел Telegram для токена от @BotFather. Для Twitch, Slack или Matrix выберите Другая платформа и введите свои ключи в разделе Окружение. В любом случае используйте в библиотеке режим polling или socket, потому что у сервера бота нет публичного веб-адреса для приёма вебхуков. Telegram по шагам: Как запустить Telegram-бота.

Нужно только пересылать сообщения между Discord и Telegram, Matrix или Slack без написания кода? Используйте готовый тип matterbridge: Как связать Discord с Telegram, Matrix или Slack через matterbridge.

Какой режим использовать

ПлатформаИспользоватьНе использовать
TelegramLong polling (например, run_polling() в python-telegram-bot, bot.start() в grammY)Вебхуки
SlackSocket Mode с токеном уровня приложенияRequest URL (события HTTP)
Чат TwitchБиблиотеку чата, которая сама подключается к Twitch (IRC или EventSub через WebSocket)Вебхуки EventSub
MatrixКлиентскую библиотеку, которая синхронизируется с вашим homeserverApplication service, которому нужен входящий URL

Все они подключаются наружу с вашего сервера, поэтому ничему не нужно приходить внутрь.

Как настроить

  1. Откройте сервер в панели. Проверьте, что тип на карточке бота на странице Обзор соответствует языку вашего кода, например Node.js Bot или Python Bot; при необходимости смените его: Как переключить бота на другой язык.
  2. Заказывали для Telegram или другой платформы? Это уже сделано. Если ваш бот настроен для Discord, в карточке Настройка бота на странице Обзор после Настройте его для: нажмите Telegram или Другая платформа и подтвердите кнопкой Переключить. Тот же выбор есть на странице Бот, в разделе Discord, в карточке Для чего этот бот?.
  3. Загрузите свой код в Files вместе с package.json или requirements.txt. См. Как загрузить код вашего Discord-бота.
  4. На странице Бот, в разделе Код, задайте Файл запуска.
  5. Telegram: в разделе Telegram вставьте токен от @BotFather и нажмите Подключить. Ваш код читает его как TELEGRAM_BOT_TOKEN, BOT_TOKEN, TOKEN, TELEGRAM_TOKEN или TELOXIDE_TOKEN. Twitch, Slack или Matrix: в разделе Окружение добавьте свои токены как переменные, например SLACK_APP_TOKEN и SLACK_BOT_TOKEN. Имена, оканчивающиеся на TOKEN, автоматически хранятся как секретные. На боте, настроенном для другой платформы, TOKEN и BOT_TOKEN вы можете использовать сами; зарезервировано только DISCORD_TOKEN. На боте, который всё ещё настроен для Discord, TOKEN, BOT_TOKEN и DISCORD_BOT_TOKEN зарезервированы для токена Discord.
  6. Нажмите Запустить (на компьютере справа вверху, на телефоне внизу экрана) и читайте Console.

Карточка «Переменные окружения» с тремя переменными, одна из которых помечена «Секрет» и показана точками, и форма «Добавить переменную» ниже.

Минимальный бот для Telegram (Python)

requirements.txt

python-telegram-bot

bot.py

import os

from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes


async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text("Hello! I am running on PlayNHost.")


app = Application.builder().token(os.environ["TELEGRAM_BOT_TOKEN"]).build()
app.add_handler(CommandHandler("start", start))
print("Bot started, polling for updates")
app.run_polling()

Части панели, связанные с Discord

Бот настраивается для одной платформы за раз, и панель следует этому выбору:

  • На боте, настроенном для Discord, карточка Настройка бота на странице Обзор открывается на шаге Подключение к Discord. Под полем токена написано Запускаете бота для Telegram, Twitch, Slack или Matrix? Токен Discord ему не нужен. Настройте его для: с вариантами Telegram и Другая платформа. Выбор сохраняется на сервере, поэтому действует в любом браузере. Переключение ничего не удаляет: токен, сохранённый для другой платформы, остаётся сохранённым и вернётся, если вы переключитесь обратно.
  • При настройке для Telegram на странице Бот есть разделы Telegram, Код, Окружение и Перезапуски: без интентов и без ссылки-приглашения. При настройке для другой платформы есть Код, Окружение и Перезапуски.
  • Пока бот работает, метка на странице Обзор показывает Работает. Когда в консоли появляется строка о готовности, например Logged in as @your_bot, метка меняется на Онлайн в Telegram на Telegram-боте и на Онлайн на боте для другой платформы. Онлайн в Discord показывается только для входов в Discord.

Шаг «Подключение к Discord» карточки «Настройка бота» со строкой «Запускаете бота для Telegram, Twitch, Slack или Matrix? Токен Discord ему не нужен. Настройте его для:» и ссылками «Telegram» и «Другая платформа».

Всё остальное работает так же: пакеты устанавливаются заново, когда вы их меняете, упавший бот запускается снова, а перезапуски можно запланировать в Быстрые задачи. См. Как пользоваться страницей «Бот» вашего Discord-бота.

Ваш бот уже у другого хостинга? Перенесите его к нам

ПОСЛЕДНИЕ БЛОГИ