← Dokumentation  /  Entwicklerhandbuch

Erstelle ein Plugin

Die vollständige SDK-Referenz für Plugin-Entwickler — Sandboxed Python, als ZIP-Datei versendet, über den Marketplace verteilt.

These docs are publicly viewable. To publish a plugin you'll need a YourBot account: sign in to access the Dev Portal.
SDK v0.9.0

Plugins sind isolierte Python-Prozesse. Schreibe einen Handler, deklariere deine Fähigkeiten, lade ein Zip hoch — wir führen es in einem abgesicherten Docker-Container aus und übertragen Discord-Events per JSON-RPC.

Was ist ein Plugin?

Ein Plugin ist ein kleines Programm, das auf Ereignisse in einem Discord-Server lauscht und darauf reagiert.

  • Jemand betritt deinen Server → dein Plugin sendet eine Willkommensnachricht.
  • Jemand gibt /leaderboard ein → dein Plugin antwortet mit den Top 10 Nutzern.
  • Jemand reagiert auf eine Nachricht → dein Plugin zählt die Abstimmung und aktualisiert das Endergebnis.

Du schreibst Python. Du importierst das SDK. Du dekorierst eine Funktion mit @plugin.on_event("member_join") und schreibst, was passieren soll. Die Plattform erledigt den Rest.

Was die Plattform für dich erledigt

  • Verbindet sich mit Discord. Du musst dich nie mit WebSocket-Gateways, Sharding, Intents oder Rate-Limits befassen. Die Plattform liefert Ereignisse an deine Handler und ein einziger ctx.discord.send_message(…)-Aufruf antwortet.
  • Hostet deinen Code. Keine Server zu mieten, kein Docker zu verwalten, keine Deployments um 2 Uhr nachts. Pushe deinen Code — die Plattform führt ihn in einer isolierten Sandbox aus.
  • Spricht mit der Außenwelt. Rufe externe APIs mit ctx.http auf, halte Live-Verbindungen mit ctx.ws offen und lass die Plattform API-Schlüssel aus verschlüsselten Geheimnissen injizieren, damit dein Code sie nie berührt. Siehe Ausgehende HTTP.
  • Übernimmt Zahlungen. Lege einen Preis fest oder versende ihn kostenlos. Kunden zahlen über Stripe und du behältst 70–85 % des Umsatzes (die Stufe hängt von deinen letzten 30 Tagen Volumen ab), automatisch auf dein Bankkonto ausgezahlt nach einer Haltefrist. Siehe Verkaufe dein Plugin.
  • Gibt jeder Installation eine Einstellungsseite. Deklarieren Sie einige Widgets in JSON und Admins erhalten eine Designvorgabe-Dashboard-Seite für Ihr Plugin — Statuskarten, Diagramme, Einstellungsformulare — ohne dass Sie eine Zeile Frontend schreiben. Siehe Dashboards.
  • Versendet Ihre Updates. Veröffentlichen Sie eine neue Version und Installationen übernehmen sie automatisch (Besitzer können eine Version anheften, um sich abzumelden). Keine Migrations-E-Mails, kein "Bitte laden Sie den Bot erneut ein". Siehe Updates und Rollback.
  • Skaliert für dich. Eine Installation oder eine Million — die Plattform übernimmt Parallelität, Wiederholungsversuche und Kontingente.

Was du tust

Schreibe die Logik, die Discord-Ereignisse in Aktionen umwandelt. Das ist alles. Der Ablauf sieht so aus:

Flow diagram: a Discord event such as a message or slash command goes to the YourBot gateway, then to your plugin's handler (the part you write), then YourBot sends the result back to Discord.

Wie sich ein Plugin von einem "Discord-Bot-Framework" unterscheidet

BereichPlugin (diese Plattform)Selbst gehosteter Bot (discord.py usw.)
Mit Discord verbindenPlattform übernimmt esDu übernimmst es
Server zum Hosten des CodesPlattform stellt bereitDu mietest / verwaltest
Zahlungen / StripePlattform verwaltetDu baust es selbst
Pro Kunde InstallationEin Klick für KundenDu führst jeden Kunden durch OAuth
Skalierung / Kontingente / WiederholungenPlattform verwaltetDu verwaltest es
Bewertungen / ErkennbarkeitIntegrierter MarktplatzDu vermarktest deinen Bot selbst
Discord API-OberflächeFähigkeitsbegrenzt (deklariere, was du brauchst)Vollzugriff (deine Verantwortung)

Wo du deine Zeit verbringst

  1. Ereignisse mit Handlern verbinden. Dekoratoren wie @plugin.on_event("message_create") oder @plugin.on_slash_command("hello").
  2. Status speichern. Pro-Server-Einstellungen, Zähler und Leaderboards leben in ctx.kv (Schlüssel-Wert, jedes Plugin hat es) oder ctx.sql (vollständiges SQL, eine Fähigkeit, die du anforderst und die nach der Überprüfung durch Mitarbeiter gewährt wird). In jedem Fall gibt es keine Datenbank zu verwalten.
  3. (Optional) Eine Einstellungsseite. Lasse ein JSON-Manifest fallen und Kunden erhalten eine Dashboard-Seite, von der aus sie dein Plugin konfigurieren können. Kein Frontend-Code erforderlich.

Sie können Ihr erstes Plugin in einem Nachmittag erstellen und einreichen. Erste Versionen neuer Entwickler durchlaufen eine kurze Überprüfung durch das Personal, bevor sie im Marktplatz angezeigt werden; etablierte Entwickler, die aus öffentlichen Repos veröffentlichen, überspringen normalerweise die Warteschlange. Klicken Sie oben auf "Erste Schritte", wenn Sie bereit sind, Code zu schreiben. Lieber nicht von einer leeren Datei anfangen? Der Plugin-Generator schreibt einen funktionierenden ersten Entwurf aus einer Beschreibung, und die yourbot CLI führt ihn lokal aus, bevor Sie etwas hochladen.

Die ganze Reise auf einen Blick

Jedes Plugin durchläuft die gleichen fünf Stationen, und diese Dokumentation ist in der gleichen Reihenfolge angeordnet — die Registerkartenleiste oben gruppiert sie in Verstehen → Erstellen → Versenden → Referenz. Jede Station verlinkt auf den Bereich, der sie behandelt:

Gut zu wissen, bevor du erstellst

  • Dein Code hat keinen direkten Netzwerkzugriff. Alle HTTP gehen durch ctx.http zu Domains, die du deklarierst; Live-Verbindungen gehen durch ctx.ws.
  • Nichts bleibt auf der Festplatte erhalten. Container werden zwischen Neustarts gelöscht. Der dauerhafte Status gehört in ctx.kv oder ctx.sql.
  • Ressourcen sind begrenzt. 64 MB Speicher und einen Bruchteil einer vCPU pro Worker. Die vollständigen Zahlen findest du unter Limits und Kontingente.
  • Timer laufen nicht von selbst. Marketplace-Plugins sind ereignisgesteuert: Periodische Arbeiten nutzen Ereignistraverkehr mit einer Abkühlungszeit. Siehe Pool-Modus.
  • Das Lesen von Text, den Menschen eingeben, ist eine Datenschutzfunktion. Nachrichtentext kommt leer an, es sei denn, du forderst events:message_content an und der Server genehmigt es. Siehe den Funktionenkatalog.
  • Deine erste Version wird von einer Person überprüft. Planen Sie auf einen kurzen Wartezeit, bevor sie live geht. Siehe Veröffentlichen & Überprüfung.

Vorhandene FAQ

Springe direkt zum Abschnitt, der deine Frage beantwortet. Das Filterfeld oben durchsucht nur die Registerkarte, auf der du dich befindest.

Ich möchte…Gehe zum
Reagieren, wenn jemand beitritt, etwas postet oder anklicktAlle Ereignisse
Slash-BefehlSlash-Befehle
Neue Nachrichtenevents:message_content
Pro-Server-Einstellungen oder Zähler speichernSchlüssel-Wert-Speicher
Einen API-Schlüssel halten, ohne ihn hartcodiert zu habenBerechtigte Benutzer
Echte SQL-Abfragen ausführenSpeicher & E/A: Sandboxed SQL
Eine externe API aufrufenAusgehende HTTP-Anfragen mocken
Eine Live-Verbindung zu einem Game-Server haltenSpeicher & E/A: WebSockets
Etwas nach Plan machenCron-Zeitpläne
Ein Pop-up-Formular öffnen (Modal)Erstellen: Modal-Dialoge
Eine Nachricht aktualisieren, wenn auf eine Schaltfläche geklickt wirdErstellen: Schaltflächen & Menüs
Einen Cooldown oder eine Ratenbegrenzung für einen Befehl hinzufügenSpeicher & E/A: Ephemerer Zustand
Einstellungen anzeigenDashboard-Manifest (JSON)
Eine vollständig benutzerdefinierte Dashboard-UI erstellenDashboards: Iframe-Modus
Mein Plugin vor dem Upload testenErste Schritte
Unit-Tests für meine Handler schreibenProduktion: Tests
SDK-Fehler behandeln, ohne zu abstürzenProduktion: Fehlerbehandlung
Verstehen, warum sich Modulglobale zurücksetzenProduktion: Pool-Modus
Sehen, was mein Plugin berühren darfReferenz: Funktionenkatalog
Jede Größe und Ratenlimitierung überprüfenReferenz: Limits und Kontingente
Plugin löschenBenenne dein Plugin
Veröffentlichen & prüfenVeröffentlichen & prüfen
Sehen Sie, was sich in jeder SDK-Version geändert hatReferenz: SDK-Änderungsprotokoll

SDK v0.9.0 · Zuletzt aktualisiert Juli 2026 · Zurück zum Entwicklerportal