Zrzur Entwickler

Status und Abdeckung

So entstehen diese Dokumente

  1. Ein Skript liest den Routencode des Servers, seine Berechtigungsprüfungen, Fehler- und Ratenlimit-Tabellen, Gateway-Ereignisse, beide SDKs und das OpenAPI-Dokument und schreibt das Inventar, aus dem diese Seiten entstehen. Nichts wird von Hand getippt, was der Code sagen kann.
  2. Die Genauigkeitstests erstellen auf einem lokalen Zrzur-Server einen Server, Bots und Testmitglieder, rufen dokumentierte Endpunkte mit einem Bot-Token auf, vergleichen die Antworten mit den Schemas und lassen jedes Tutorial als echten Bot laufen.
  3. Automatische Prüfungen lassen den Build scheitern, wenn ein Endpunkt keine Doku hat, eine Seite ins Leere verlinkt, ein Beispiel eine nicht vorhandene Route aufruft oder das Inventar veraltet ist.

Jeder Endpunkt zeigt, wie er geprüft wurde:

StufeBedeutung
Live geprüftMit einem Bot-Token auf einem laufenden Server aufgerufen; Antwort passte zum Schema
Lokale IntegrationGegen für den Test gestartete Dienste getestet
TypgeprüftKompiliert gegen die SDK-Typen; nicht ausgeführt
AttrappeGegen einen falschen Server ausgeführt
UngetestetNur aus dem Quellcode bekannt

Status

StatusEndpoints
supported101
partial4
unverified52
unsupported33

Was Bots nicht können

Endpoint
DELETE /bots/{bot_id}Only the bot's owner, with an MFA ticket, can delete it; a bot token gets NotFound.
PATCH /bots/{bot_id}Only the bot's owner (user session) can edit it; a bot token gets NotFound.
DELETE /bots/{target}/interactions/endpointOnly the bot's owner (user session) can call it; a bot token gets IsBot.
PUT /bots/{target}/interactions/endpointOnly the bot's owner (user session) can call it; a bot token gets IsBot.
POST /bots/{target}/interactions/secretOnly the bot's owner, with an MFA ticket, can make a signing secret; a bot token gets IsBot.
POST /bots/{target}/inviteIsBot
POST /bots/{target}/verificationIsBot
GET /bots/@meLists the bots a user owns; a bot token gets an empty list. Use the Developer Portal.
POST /bots/createBots cannot create bots: the owner's user session creates them in the Developer Portal (IsBot).
DELETE /channels/{group_id}/recipients/{member_id}IsBot
PUT /channels/{group_id}/recipients/{member_id}IsBot
POST /channels/createIsBot
POST /interactionsIsBot
POST /interactions/autocompleteIsBot
PUT /channels/{target}/ack/{message}IsBot
DELETE /channels/{target}/messages/{msg}/polls/answers/{answer}/votes/@meBots cannot vote in a poll: a bot token gets IsBot.
PUT /channels/{target}/messages/{msg}/polls/answers/{answer}/votes/@meBots cannot vote in a poll: a bot token gets IsBot.
POST /channels/{target}/messages/forwardForwarding is switched on per instance: `GET /` shows `features.forwarding`. Where it is off the answer is FeatureDisabled.
GET /oauth2/authorizeIsBot
POST /oauth2/authorizeIsBot
GET /oauth2/authorizedIsBot
DELETE /oauth2/authorized/{application_id}IsBot
POST /invites/{target}IsBot
PUT /servers/{target}/ackIsBot
POST /servers/createIsBot
DELETE /users/{target}/blockIsBot
PUT /users/{target}/blockIsBot
DELETE /users/{target}/friendIsBot
PUT /users/{target}/friendIsBot
GET /users/@me/mentionsIsBot
GET /users/@me/privacyIsBot
PATCH /users/@me/privacyIsBot
POST /users/friendIsBot

Kontoeinstellungen, Sitzungen, Mehrfaktor-Anmeldung, Abrechnung, Entdecken-Einträge, Plugins, die Community-Galerie und Team-Werkzeuge gehören nicht zur Bot-API und stehen hier nicht.