İçeriğe geç

Discord bağlantısı

Discord hesap bağlama, site rollerini Discord rolleriyle eşitleme, sitedeki Discord sayıları ve webhook bildirimleri.

BorCube, Discord sunucunla üç şekilde çalışır:

  • Hesap bağlama: oyuncular profil sayfasından Discord hesaplarını site hesaplarına bağlar.
  • Rol eşitleme: sitedeki rollere (ör. mağazadan alınan VIP) karşılık gelen Discord rollerini kendi botun verir; site rolü bitince Discord rolünü de alır.
  • Webhook bildirimleri: sipariş, destek talebi, başvuru gibi olaylar Discord kanallarına mesaj olarak düşer.

BorCube kendi sunucunda çalıştığı için ortak bir BorCube botu yoktur: her site kendi Discord uygulamasını ve botunu kullanır. Bu bot Discord'da komut çalıştırmaz; yalnızca eşlediğin rolleri verir, geri alır ve sunucu sayılarını okur.

1. Discord uygulamasını hazırlamak#

  1. Discord Developer Portal sayfasında yeni bir uygulama oluştur.
  2. Uygulamanın OAuth2 sayfasından Client ID ve Client Secret değerlerini al.
  3. Aynı sayfadaki Redirects bölümüne, panelde gösterilen Yönlendirme adresini aynen ekle (aşağıda).
  4. Rol eşitleme ya da sitede Discord sayıları istiyorsan Bot sayfasında Reset Token ile bir bot token'ı oluştur.
  5. Botu Manage Roles (Rolleri Yönet) izniyle Discord sunucuna ekle. Bunun için OAuth2 → URL Generator bölümünde bot kapsamını ve Manage Roles iznini seçip oluşan bağlantıyı aç.
  6. Discord'da Sunucu Ayarları → Roller sayfasında botun rolünü, botun vereceği rollerin üstüne taşı. Discord, botların kendinden yüksek rolleri vermesine izin vermez.

2. Paneli ayarlamak#

Yönetim paneli → Ayarlar → Discord bağlantısı sayfasının Uygulama ve bot kartını doldur:

AlanAçıklama
Oyuncular Discord hesabını bağlayabilsinAçıkken profil sayfasında Discord ile bağlama düğmesi görünür.
Uygulama kimliği (Client ID)Developer Portal'dan aldığın kimlik.
Uygulama gizli anahtarı (Client Secret)Kaydedildikten sonra gösterilmez; değiştirmek için yenisini yaz.
Yönlendirme adresi (Redirect URI)Değiştirilemez; Kopyala ile alıp Developer Portal'a ekle.
Bot tokenRol eşitleme ve sitedeki çevrimiçi/üye sayısı için gerekir.
Discord sunucu kimliği (Guild ID)Discord'da Geliştirici Modu açıkken sunucuya sağ tıkla → Kimliği kopyala.

Yönlendirme adresi her zaman https://<site-adresin>/profil/discord/geri biçimindedir ve Ayarlar → Genel sayfasındaki Site adresinden üretilir. Site adresi yanlışsa Discord bağlama çalışmaz.

Client Secret ve bot token şifrelenerek saklanır. Hesap bağlamanın çalışması için anahtarın açık olması ve Client ID ile Client Secret'in girilmiş olması gerekir. Aynı anahtar Ayarlar → Site bölümleri sayfasında Discord hesabı bağlama adıyla da görünür.

Oyuncu tarafı

Oyuncu /profil sayfasında Discord ile bağlama düğmesine basar, Discord'da izin verir ve siteye geri döner. BorCube yalnızca Discord kimliğini ve adını öğrenir; Discord hesabına başka erişimi olmaz. Bir Discord hesabı yalnızca bir site hesabına bağlanabilir. Oyuncu bağlantıyı aynı sayfadan kaldırabilir.

3. Rol eşleme#

Aynı sayfadaki Rol eşleme kartında her site rolü için bir Discord rolü seç ve Eşlemeyi kaydet'e bas. Bot sunucuya bağlıysa kartta "Bot bağlı: sunucu adı" yazar ve Discord rolleri listeden seçilir; bağlı değilse rol kimliğini elle yazarsın.

  • Bot yalnızca burada eşlenen rolleri ekler ve kaldırır. Discord'da elle verdiğin rollere dokunmaz.
  • Eşitleme; oyuncu hesabını bağladığında, panelde rolleri değiştiğinde ve mağazadan alışveriş yaptığında başlar.
  • Ayrıca her 10 dakikada bir genel kontrol yapılır: süresi biten roller alınır, kaçan değişiklikler düzeltilir.
  • Yasaklanan ya da silinen hesaplar eşlenen Discord rollerini kaybeder. Oyuncu bağlantıyı kaldırınca BorCube'un verdiği roller geri alınır.
  • Oyuncu Discord sunucunda değilse rol verilemez; sunucuya sonradan katılırsa rolleri bir sonraki kontrolde verilir.

4. Sitedeki Discord sayıları#

Bot token ve sunucu kimliği girildiyse temalar Discord kutusunda sunucunun adını, yaklaşık çevrimiçi ve üye sayısını gösterebilir. Bot kullanmıyorsan yalnızca sunucu kimliği yeter; ama Discord'da Sunucu Ayarları → Widget açık olmalıdır ve bu durumda yalnızca çevrimiçi sayısı gelir. Sayılar 5 dakikada bir yenilenir. Bu kutu her pakette çalışır; hesap bağlama, rol eşitleme ve webhook'lar ise Pro ve Ultimate ister.

Discord davet bağlantını Ayarlar → Sosyal medya ve alt bilgi sayfasına yazarsın.

5. Webhook bildirimleri#

Webhook, Discord kanalına dışarıdan mesaj göndermeye yarayan bir adrestir.

  1. Discord'da kanal ayarlarını aç: Entegrasyonlar → Webhook oluştur, sonra webhook adresini kopyala.
  2. Yönetim paneli → Ayarlar → Discord webhook'ları sayfasında Ad (ör. "#satışlar kanalı") ve Webhook adresi alanlarını doldur.
  3. Olaylar bölümünde bu kanala gidecek olayları işaretle, Açık anahtarının açık olduğundan emin ol ve Kaydet'e bas.
  4. Listede webhook'un yanındaki Test düğmesiyle kanala deneme mesajı gönder.

Seçebileceğin olaylar:

  • Yeni sipariş
  • Kredi yüklendi (ödeme onaylandı)
  • Onay bekleyen ödeme (havale / inceleme)
  • Yeni kayıt
  • Yeni destek talebi
  • Oyuncu destek talebine yanıt yazdı
  • Onay bekleyen yorum
  • Yeni başvuru / form
  • Yeni blog yazısı yayınlandı
  • Yeni forum konusu
  • Yeni öneri

Farklı olayları farklı kanallara göndermek için birden çok webhook ekle. Yalnızca Discord'un verdiği webhook adresleri (https://discord.com/api/webhooks/…) kabul edilir. Adres şifreli saklanır; sonra listede yalnızca son karakterleri görünür. Gönderim başarısız olursa webhook kartında hata etiketi ve hata mesajı çıkar. Oyuncuların yazdığı metinlerdeki @everyone ve etiketler etkisizleştirilir; kimse kanalda herkesi etiketleyemez.

Sorun giderme#

  • Discord yönlendirme adresi hatası veriyor ya da sitede "Discord yanıt vermedi ya da kodun süresi doldu" yazıyor: yönlendirme adresini Developer Portal'a birebir eklediğini, Client Secret'in doğru olduğunu ve Site adresinin doğru olduğunu kontrol et.
  • Discord bağlantısı doğrulanamadı: bağlama işlemi başka bir tarayıcıda başlamış ya da çok uzun sürmüş olabilir. Oyuncu profil sayfasından aynı tarayıcıda yeniden denemeli.
  • Bu Discord hesabı sitede başka bir hesaba bağlı.: o Discord hesabı başka bir site hesabına bağlı. Önce o hesaptan bağlantı kaldırılmalı.
  • Roller verilmiyor: botun sunucuda olduğunu, Manage Roles iznini ve bot rolünün verilecek rollerin üstünde olduğunu kontrol et. Rol eşleme kartında hata yazıyorsa bot token'ını ve sunucu kimliğini yeniden gir.

Bu ayarların hepsi için rolde Site ayarlarını yönetme izni gerekir.

Bir yanlış ya da eksik mi gördün? Discord’dan haber ver, hemen düzeltelim.