Zrzur-Bot-API
Ein Bot ist ein Zrzur-Konto, das ein Programm steuert. Er ist wie ein Mitglied auf Servern, liest und sendet Nachrichten, antwortet auf Slash-Befehle, zeigt Schaltflächen und Formulare, moderiert, postet Dateien und kann Sprachkanälen beitreten. Menschen installieren ihn; dein Code läuft auf deinem eigenen Rechner oder Server.
Diese Seiten sind alles, was du brauchst. Beginne mit Starte deinen Bot und baue dann den vollständigen Bot.
So funktioniert ein Bot
- Du erstellst im Entwicklerportal eine Anwendung. Sie bringt einen Bot-Benutzer und ein Token mit, das Passwort des Bots.
- Jemand mit „Server verwalten“ installiert den Bot auf einem Server und gibt ihm Berechtigungen.
- Dein Programm ruft die REST-API über HTTPS auf, mit dem Token im Header
x-bot-token. So handelt ein Bot. - Dein Programm hält eine Gateway-Verbindung offen, einen WebSocket. So hört ein Bot: Befehle, Klicks, Nachrichten und Mitgliederänderungen kommen dort als Ereignisse an.
Der Weg vom Nichts zum fertigen Bot
- Starte deinen Bot: eine Anwendung, ein Token, ein erster Befehl.
- Anwendungen und Tokens: jede Einstellung des Entwicklerportals und wie du einen Bot installierst.
- Gateway: verbinden, verbunden bleiben, nach einem Abbruch zurückkommen.
- Slash-Befehle, Auf Interaktionen antworten und Schaltflächen, Menüs und Formulare.
- Nachrichten, Rollen und Berechtigungen, Moderation.
- Fehler, Ratenlimits, Tokens schützen, Betrieb in Produktion.
Basis-URLs
| Dienst | URL |
|---|---|
| REST-API | https://api.zrzur.com |
| Gateway (WebSocket) | wss://events.zrzur.com |
| Dateien | https://cdn.zrzur.com |
| Sprache (LiveKit) | wss://voice.zrzur.com |
Selbst gehostete Server haben eigene Adressen. GET / auf der API liefert sie, zusammen mit den Limits dieses Servers. Lies diese Felder (die Antwort hat mehr; diese ist gekürzt):
{
"zrzur": "26.0.0",
"ws": "wss://events.zrzur.com",
"app": "https://app.zrzur.com",
"features": {
"autumn": { "enabled": true, "url": "https://cdn.zrzur.com" },
"january": { "enabled": true, "url": "https://api.zrzur.com/january" },
"livekit": {
"enabled": true,
"nodes": [{ "name": "fra", "lat": 50.11, "lon": 8.68, "public_url": "wss://voice.zrzur.com" }]
},
"webhooks": false,
"forwarding": false,
"polls": false,
"server_events": false,
"limits": {
"default": { "message_length": 2000, "message_attachments": 5, "file_upload_size_limits": { "attachments": 20000000 } }
}
}
}| Feld | Was es ist |
|---|---|
zrzur | Version des Servers; siehe API-Änderungsprotokoll |
ws | Gateway-Adresse |
features.autumn.url | Dateiserver: Hoch- und Herunterladen |
features.january.url | Medien-Proxy für Linkvorschauen |
features.livekit.nodes[].public_url | Sprachserver |
features.limits.default | Limits eines Kontos, etwa die Nachrichtenlänge |
features.webhooks, features.forwarding, features.polls, features.server_events | Ob diese Installation Webhooks, das Weiterleiten von Nachrichten, Umfragen und geplante Events eingeschaltet hat. Wo eins false ist, antworten seine Routen FeatureDisabled (Webhook-Adressen: 404 NotFound) |
app | Web-App, für Links, die du Menschen zeigst |
GET /
Query Node. Fetch the server configuration for this Zrzur instance.
Ratenlimit: any_dlta, 20 / 10 s
Was nicht unterstützt wird
- Sharding. Ein Bot hält eine Verbindung oder mehrere, die jeweils alles empfangen. Ereignisse lassen sich nicht auf Prozesse verteilen.
- Slash-Befehle in Gruppen und Serverbefehle in Direktnachrichten. In einer Direktnachricht mit dem Bot kann eine Person die globalen Befehle des Bots nutzen, die keine Serverberechtigung brauchen. Schaltflächen, Auswahlmenüs und Formulare funktionieren dort auch.
- Webhooks, Umfragen, Weiterleiten und geplante Events, wo die Installation sie ausgeschaltet hat.
GET /sagt, was an ist; siehe Basis-URLs. - Interaktionen über HTTP auf einem Server, dessen Einstellung
signing_keyleer ist. Dort antworten die RoutenFeatureDisabled, und Bots nutzen das Gateway. - Bots, die Bots oder Server erstellen, per Einladung beitreten oder Freunde haben. Das tun Menschen. Die Abdeckungsseite listet jeden Endpunkt, der Bots ablehnt.
- Das SDK als Paket. Es ist noch nicht auf npm. Jede Seite hier funktioniert allein mit Node; siehe SDKs.
Was jeder Status bedeutet
Jeder Endpunkt in dieser Referenz zeigt eine dieser Markierungen.
| Status | Endpoints |
|---|---|
supported | 101 |
partial | 4 |
unverified | 52 |
unsupported | 33 |