NIEUW 📢 Beperkte lanceeractie: tot 70% korting op je eerste maand, voor elke game!Bekijk pakketten

Een Telegram-, Twitch-, Slack- of Matrix-bot hosten

Discord-bothostingUpdated Oct 29, 20265 min read

Een botpakket draait meer dan Discord-bots. Kies voor Telegram Telegram als de bestelling Voor welk platform is je bot? vraagt: de pagina Bot heeft dan een deel Telegram voor het token van @BotFather. Kies voor Twitch, Slack of Matrix Ander platform en zet je sleutels onder Omgeving. In beide gevallen gebruik je de polling- of socketmodus van je library, want een botserver heeft geen openbaar webadres om webhooks te ontvangen. Telegram stap voor stap: Een Telegram-bot hosten.

Wil je alleen berichten doorsturen tussen Discord en Telegram, Matrix of Slack, zonder code te schrijven? Gebruik dan het kant-en-klare type matterbridge: Discord koppelen met Telegram, Matrix of Slack met matterbridge.

Welke modus je gebruikt

PlatformGebruikNiet
TelegramLong polling (bijvoorbeeld run_polling() in python-telegram-bot, bot.start() in grammY)Webhooks
SlackSocket Mode, met een token op appniveauRequest URLs (HTTP-events)
Twitch-chatEen chatlibrary die naar buiten verbindt met Twitch (IRC of EventSub via WebSocket)EventSub-webhooks
MatrixEen clientlibrary die synchroniseert met je homeserverEen application service die een inkomende URL nodig heeft

Al deze verbinden naar buiten vanaf je server, dus er hoeft niets naar binnen te komen.

Stel het in

  1. Open je server in het panel. Controleer op de kaart van de bot op Overzicht dat het type de taal van je code is, bijvoorbeeld Node.js Bot of Python Bot; wijzig het zo nodig: Je bot naar een andere taal of een kant-en-klare bot overzetten.
  2. Besteld voor Telegram of een ander platform? Dan is dit al gedaan. Is je bot ingesteld voor Discord, klik dan in de kaart Je bot instellen op Overzicht, na Stel hem in voor:, op Telegram of Een ander platform en bevestig met Overschakelen. Dezelfde keuze staat op de pagina Bot, deel Discord, kaart Waar is deze bot voor?.
  3. Upload je code in Files, met package.json of requirements.txt. Zie Je Discord-botcode uploaden.
  4. Zet op de pagina Bot, deel Code, het Startbestand.
  5. Telegram: plak in het deel Telegram het token van @BotFather en klik op Verbinden. Je code leest het als TELEGRAM_BOT_TOKEN, BOT_TOKEN, TOKEN, TELEGRAM_TOKEN of TELOXIDE_TOKEN. Twitch, Slack of Matrix: voeg in het deel Omgeving je tokens toe als variabelen, bijvoorbeeld SLACK_APP_TOKEN en SLACK_BOT_TOKEN. Namen die eindigen op TOKEN worden automatisch geheim gehouden. Bij een bot die voor een ander platform is ingesteld, kun je TOKEN en BOT_TOKEN zelf gebruiken; alleen DISCORD_TOKEN is gereserveerd. Bij een bot die nog voor Discord is ingesteld, zijn TOKEN, BOT_TOKEN en DISCORD_BOT_TOKEN gereserveerd voor het Discord-token.
  6. Druk op Starten (rechtsboven op een computer, onderaan het scherm op een telefoon) en lees Console.

De kaart Omgevingsvariabelen met drie variabelen, waarvan een gemarkeerd als Geheim en getoond als stippen, en het formulier Een variabele toevoegen eronder.

Een minimale Telegram-bot (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()

De Discord-onderdelen van het panel

Een bot is steeds voor één platform ingesteld en het panel volgt die keuze:

  • Bij een bot die voor Discord is ingesteld, opent de kaart Je bot instellen op Overzicht bij Verbinden met Discord. Onder het tokenveld staat Draai je een Telegram-, Twitch-, Slack- of Matrix-bot? Die heeft geen Discord-token nodig. Stel hem in voor: met Telegram en Een ander platform. De keuze wordt op de server opgeslagen, dus ze geldt in elke browser. Overschakelen verwijdert niets: een token dat voor het andere platform is opgeslagen, blijft opgeslagen en komt terug als je terugschakelt.
  • Ingesteld voor Telegram heeft de pagina Bot de delen Telegram, Code, Omgeving en Herstarts: geen intents en geen uitnodigingslink. Ingesteld voor een ander platform heeft hij Code, Omgeving en Herstarts.
  • Het statuslabel op Overzicht zegt Draait zolang je bot draait. Toont de console een gereedregel zoals Logged in as @your_bot, dan verandert het in Online in Telegram bij een Telegram-bot en in Online bij een ander platform. Online in Discord is alleen voor Discord-logins.

De stap Verbinden met Discord van de kaart Je bot instellen met de regel Draai je een Telegram-, Twitch-, Slack- of Matrix-bot? Die heeft geen Discord-token nodig. Stel hem in voor: en de links Telegram en Een ander platform.

Al het andere werkt hetzelfde: packages worden geïnstalleerd als je ze wijzigt, een gecrashte bot wordt opnieuw gestart en je kunt herstarts plannen in Snelle taken. Zie De pagina Bot van je Discord-bot gebruiken.

Draait je bot al ergens anders? Verhuis hem naar ons

ONZE NIEUWSTE BLOGS