Discord Gateway API

Połącz się z bramą Discord przez WebSocket, aby budować boty reagujące na wiadomości, obecność, zdarzenia gildii i stanu głosu w czasie rzeczywistym.

TsgcWSAPI_Discord

Typowany klient Delphi/C++Builder dla Discord Gateway WebSocket API — obsługuje heartbeat, identyfikację, intents, sharding i przekazywanie zdarzeń.

Klasa komponentu

TsgcWSAPI_Discord

Protokół

Discord Gateway

Platformy

Windows, macOS, Linux, iOS, Android

Edycja

Standard / Professional / Enterprise

Dodaj komponent, ustaw token, nasłuchuj zdarzeń

Połącz z TsgcWebSocketClient, ustaw Discord.Token i Discord.Intents, następnie podłącz OnDiscordMessageCreate / OnDiscordReady, aby obsługiwać zdarzenia bramy.

uses
  sgcWebSocket, sgcWebSocket_API_Discord;

var
  WSClient: TsgcWebSocketClient;
  Discord: TsgcWSAPI_Discord;
begin
  WSClient := TsgcWebSocketClient.Create(nil);

  Discord := TsgcWSAPI_Discord.Create(nil);
  Discord.Client := WSClient;
  Discord.Discord.Token := 'your-bot-token';

  Discord.OnDiscordReady := procedure(Connection: TsgcWSConnection;
    const aPayload: string)
  begin
    Memo1.Lines.Add('Discord ready');
  end;

  Discord.OnDiscordMessageCreate := procedure(Connection: TsgcWSConnection;
    const aMessage: string)
  begin
    Memo1.Lines.Add(aMessage);
  end;

  WSClient.Active := True;
end;
// uses: sgcWebSocket, sgcWebSocket_API_Discord
TsgcWebSocketClient *WSClient = new TsgcWebSocketClient(this);
TsgcWSAPI_Discord *Discord = new TsgcWSAPI_Discord(this);
Discord->Client = WSClient;
Discord->Discord->Token = "your-bot-token";

WSClient->Active = true;

Co jest w środku

Implementuje protokół Discord Gateway na bazie TsgcWebSocketClient: IDENTIFY, RESUME, HEARTBEAT, routing zdarzeń.

Handshake bramy

Po połączeniu komponent wysyła IDENTIFY z tokenem, intents i właściwościami; po rozłączeniu wysyła RESUME z ostatnim numerem sekwencji, aby żadne zdarzenia nie zostały utracone.

Heartbeat

Discord wymaga wiadomości HEARTBEAT z opcode 1 w interwałach zwracanych przez bramę w HELLO. Komponent planuje ich wysyłanie i monitoruje HEARTBEAT_ACK w celu wykrywania zawieszonych połączeń.

Intents

Discord.Intents wybiera kategorie zdarzeń dostarczanych przez bramę (GUILD_MESSAGES, GUILD_MEMBERS, MESSAGE_CONTENT, VOICE_STATES — pełna maska bitowa intent).

Przekazywanie zdarzeń

Każde zdarzenie bramy jest dostępne jako typowana właściwość: OnDiscordReady, OnDiscordMessageCreate, OnDiscordGuildCreate, OnDiscordPresenceUpdate i wiele innych.

Hooki bramy głosowej

Odbieraj zdarzenia VOICE_STATE_UPDATE i VOICE_SERVER_UPDATE — łącz z punktem końcowym WebSocket głosu dla automatyzacji kanałów głosowych.

Gotowy na sharding

Ustaw Discord.Shard i Discord.ShardCount, aby uczestniczyć w shardowanej bramie Discord, gdy bot przekroczy zalecaną liczbę serwerów.

Specyfikacje i źródła

Autorytatywne źródła API implementowanych przez ten komponent.

Dokumentacja i wersje demo

Przejdź bezpośrednio do dokumentacji komponentu, pobierz gotowy do uruchomienia projekt demonstracyjny i pobierz wersję próbną.

Pomoc online — API_Discord Pełna dokumentacja właściwości, metod i zdarzeń tego komponentu.
Wersja próbna — sgcWebSockets Zbuduj swojego bota Discord na bazie pakietu próbnego sgcWebSockets.
Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz odniesienia do źródeł pierwotnych — tylko ten komponent.
Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki.

Gotowy, żeby zbudować bota Discord?

Pobierz bezpłatną wersję próbną i połącz się z bramą Discord ze swoich aplikacji Delphi.