Geliştirici Portalı
Deneysel Bot ve uygulama platformu aktif olarak geliştiriliyor. Kendi barındırdığın sunucu desteği 13.08.2026'da yayınlandı ve buluta göre daha az özellik sunuyor. Nelerin desteklendiğine bak.
← Dokümanlar

OAuth2 + Kurulum URL'leri

GameVox'un OAuth2 akışı, veri formatı düzeyinde Discord'unkiyle uyumludur. Authorize URL'si, token değişimi ve kapsam adları eşleşir; GameVox yalnızca authorization-code ve refresh-token grant'lerini destekler. Bu sayfa, kurulum bağlantının nasıl davrandığını ve kurulum onay ekranının nasıl göründüğünü belirleyen küçük alan kümesini anlatır.

Bot olmadan, insanların kendi web sitene veya uygulamana giriş yapmasını mı istiyorsun? Bkz. GameVox ile Giriş Yap.

Endpoint'ler

GET  https://gamevox.com/oauth2/authorize/
POST https://app-api.gamevox.com/api/oauth2/token
POST https://app-api.gamevox.com/api/oauth2/token/revoke
GET  https://app-api.gamevox.com/api/oauth2/@me

Bir sunucu kurulumu için yalnızca authorize URL'si yeterlidir: kullanıcı bir sunucu seçer ve bot eklenir, token'la değiştirilecek bir code yoktur. Token endpoint'leri GameVox ile Giriş Yap içindir.

İstemci kimlik bilgileri

Her uygulama bir client ID (uygulamanın snowflake'i) ve bir client secret alır. Secret uygulama oluşturulurken bir kez ve yenilendiğinde bir kez gösterilir; biz yalnızca bcrypt hash'ini, önekini ve son 4 karakterini saklarız.

  • Yenileme: POST /developer-portal/applications/{id}/reset-secret. Önceki secret'ı hemen geçersiz kılar.
  • Kullanım: secret, GameVox ile Giriş Yap için token endpoint'inde backend'inin kimliğini doğrular. Public client ve client_credentials grant'i yoktur: PKCE olsun ya da olmasın her token isteği secret gerektirir.

Kurulum bağlamları

Kurulum sekmesinde birbirinden bağımsız iki onay kutusu:

  • Kullanıcı kurulumu: henüz kullanılamıyor. Ayar kaydedilir, ancak kullanıcı kurulumları yayına girene kadar integration_type=1 içeren ve bot kapsamı olmayan kurulum bağlantıları onay ekranında reddedilir.
  • Sunucu kurulumu: bot bir sunucuya kurulur; komutlar yalnızca o sunucuda kullanılabilir.

En az biri açık olmalı. Kurulum onay ekranı neyin mevcut olduğuna göre dallanır: ikisi de açıksa kullanıcı seçer; yalnızca biri açıksa seçici gizlenir.

Veri formatı notu: “sunucu kurulumu” sütununun adı, Discord ile bayt düzeyinde aynı kalmak için install_guild_install'dır. Portal arayüzü “Sunucu” der, çünkü GameVox bunlara guild değil sunucu der.

Varsayılan kurulum ayarları

Açık olan her bağlam için, kurulum onay ekranının önceden seçeceği kapsamları ve (sunucu kurulumu için) izin bit alanını yapılandırırsın. Kullanıcı onay ekranında kapsamları yine daraltabilir.

  • Kapsamlar: bağlam başına en fazla 25. Karakter kümesi [a-z0-9._-]. Tekrarlananlar sessizce tekilleştirilir.
  • İzinler (yalnızca sunucu kurulumu): ondalık string, en fazla 32 karakter. Discord'un izin tam sayısıyla eşleşir.

Yaygın varsayılanlar:

User install   → ["applications.commands"]
Server install → ["bot", "applications.commands"], perms="0"

Kurulum bağlantısı modu

Açılır liste, dizin listendeki Kur düğmesinin nasıl çözümleneceğini seçer:

  • Yok: kurulum düğmesi yok; kurulumu platform dışında kendin hallediyorsun.
  • GameVox'un sağladığı: URL'yi varsayılan kurulum ayarlarından biz oluştururuz. Portal geçerli URL'yi altında gösterir.
  • Özel URL: tam nitelikli bir https:// URL'si sağlarsın (ör. kullanıcı başına state üreten kendi kurulum gateway'in).

GameVox'un sağladığı URL'nin biçimi

https://gamevox.com/oauth2/authorize
  ?client_id={application.id}
  &permissions={perms}
  &scope={boşlukla birleştirilmiş, URL kodlanmış kapsamlar}
  &integration_type={0=sunucu, 1=kullanıcı}
  &response_type=code

İki bağlam da açıksa bağlantı integration_type parametresini içermez ve onay ekranı seçiciyi gösterir.

Public key + HTTP modunda etkileşimler

Her uygulama, Genel Bilgiler sekmesinde salt okunur olarak gösterilen 32 baytlık bir Ed25519 public key alır. Uygulama ayarlarında Etkileşim Endpoint URL'ni ayarla, GameVox da etkileşim payload'larını ilgili private key ile imzalayarak oraya POST etsin. Public key'i otomatik yükleyen kütüphaneler (discord-interactions ve benzerleri) ek bir yapılandırma olmadan imzaları doğrular.

  • Endpoint yapılandırılmışsa ve 2xx döndürüyorsa etkileşim yalnızca HTTP üzerinden iletilir; gateway üzerinden hiçbir şey gitmez.
  • Endpoint'e ulaşılamıyorsa veya 2xx dışında bir yanıt dönüyorsa GameVox, etkileşimi botunun gateway oturumu üzerinden göndermeye geri döner.
  • İmza şeması, header adları ve PING onayı Discord ile bayt bayt eşleşir.
  • Kendi barındırdığın sunuculardaki etkileşimler de bulut sunucularındakiyle aynı şekilde iletilir.
  • Yine de bir gateway oturumunu bağlı tut. GameVox her etkileşimi endpoint'ine POST etmeden önce bu oturum üzerinden uygulamana teslim eder; bağlı oturum yoksa hiçbir şey iletilmez.
  • Yanıt gövdesi yok sayılır; tek istisna Endpoint'e ping at düğmesinin gönderdiği PING'dir. Her etkileşimi POST /interactions/{id}/{token}/callback çağırarak yanıtla.

Kapsamlar

KapsamEtkisi
bot Sunucuya bir bot kullanıcısı ekleyen sunucu kurulumları için zorunlu.
applications.commands Uygulamanın kurulum kapsamında slash / kullanıcı / mesaj komutları kaydetmesini sağlar.
identify, email, guilds, role_connections.write bot olmadan kullanılan kullanıcı girişi kapsamları. Bkz. GameVox ile Giriş Yap.

Discord'dan farklar

  • Premium Apps / entitlement yok; sunduğumuz tek komut izni endpoint'i applications.commands.permissions.update.
  • Token'lar için “ekip tarafından yönetilen” bir kimlik yok. Ekibe ait uygulamalarda bile OAuth token'ları belirli bir ekip üyesine değil, uygulamaya aittir.
  • Uygulama Test Edenler (Ekipler sekmesi), özel uygulamalar için kurulum onay ekranındaki herkese açık/özel kısıtlamasını atlar. Test edenler listesindeki kullanıcılar özel bir uygulamayı kurabilir; diğer herkes bulunamadı sayfası görür.

← Dokümanlara dön