Discord Gateway API

Mesajlara, presence'a, guild ve voice-state olaylarına gerçek zamanlı tepki veren botlar oluşturmak için WebSocket üzerinden Discord Gateway'e bağlanın.

TsgcWSAPI_Discord

Discord Gateway WebSocket API için türlenmiş Delphi/C++Builder istemcisi — heartbeat, identify, intent'ler, sharding ve olay dağıtımını işler.

Bileşen sınıfı

TsgcWSAPI_Discord

Protokol

Discord Gateway

Platformlar

Windows, macOS, Linux, iOS, Android

Sürüm

Standard / Professional / Enterprise

Bileşeni ekleyin, token ayarlayın, olayları dinleyin

TsgcWebSocketClient ile eşleştirin, Discord.Token ve Discord.Intents ayarlayın, ardından gateway olaylarını işlemek için OnDiscordMessageCreate / OnDiscordReady bağlayın.

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;

İçeride neler var

Discord Gateway protokolünü TsgcWebSocketClient üzerinde uygular: IDENTIFY, RESUME, HEARTBEAT, dağıtım yönlendirmesi.

Gateway el sıkışması

Bağlandığında bileşen, token, intent'ler ve özelliklerle IDENTIFY gönderir; bağlantı kesildiğinde olayların kaybolmaması için son sıra numarasıyla RESUME gönderir.

Heartbeat

Discord, gateway'in HELLO içinde döndürdüğü aralıkta opcode-1 HEARTBEAT mesajları gerektirir. Bileşen bunları zamanlar ve zombileşmiş bağlantıları tespit etmek için HEARTBEAT_ACK'i izler.

Intent'ler

Discord.Intents, gateway'in hangi olay kategorilerini ilettiğini seçer (GUILD_MESSAGES, GUILD_MEMBERS, MESSAGE_CONTENT, VOICE_STATES — tam intent bit maskesi).

Olay dağıtımı

Her gateway dağıtım olayı, türlenmiş bir özellik olarak açığa çıkar: OnDiscordReady, OnDiscordMessageCreate, OnDiscordGuildCreate, OnDiscordPresenceUpdate ve daha fazlası.

Ses gateway kancaları

VOICE_STATE_UPDATE ve VOICE_SERVER_UPDATE olaylarını alın — ses kanalı otomasyonu için ses WebSocket uç noktasıyla birleştirin.

Sharding hazır

Botunuz önerilen guild eşiğini aştığında Discord'un sharded gateway'ine katılmak için Discord.Shard ve Discord.ShardCount ayarlayın.

Belirtimler ve referanslar

Bu bileşenin uyguladığı API'ler için yetkili kaynaklar.

Belgeler ve Demolar

Bileşen referansına doğrudan bağlanın, çalışmaya hazır demo projesini alın ve denemeyi indirin.

Çevrimiçi Yardım — API_Discord Bu bileşen için tam özellik, metot ve olay referansı.
Ücretsiz Deneme — sgcWebSockets Discord botunuzu sgcWebSockets deneme paketi üzerine inşa edin.
Teknik Belge (PDF) Özellikler, hızlı başlangıç, Delphi ve C++ Builder için kod örnekleri ve birincil kaynak referansları, yalnızca bu bileşen.
Kullanıcı Kılavuzu (PDF) Kütüphanedeki her bileşeni kapsayan kapsamlı kılavuz.

Bir Discord Botu Oluşturmaya Hazır mısınız?

Ücretsiz denemeyi indirin ve Delphi uygulamalarınızdan Discord Gateway'e bağlanın.