Skip to content

Discord API Kurulumu

Discord entegrasyonu için admin walkthrough. Son-kullanıcı akışı: Bağlantılar → Discord.

Genel bakış

Form alanıOptions anahtarı
Client IDdiscord_client-id
Client Secretdiscord_client-secret
Bot Tokendiscord_bot-token
Statusdiscord_integration_status

ENV fallback: DISCORD_CLIENT_ID, DISCORD_CLIENT_SECRET, DISCORD_BOT_TOKEN.

Discord = OAuth + Bot

Discord üç secret gerektirir: bir OAuth Client ID/Secret çifti (kullanıcılar Sosyabot'u yetkilendirebilsin) artı bir Bot Token (Sosyabot bot'un adına mesaj gönderebilsin).

discord.com/developers/applications adım adım

1. Yeni application oluştur

https://discord.com/developers/applicationsNew Application → adlandır (örn. "Sosyabot").

2. OAuth2'yi yapılandır

App'in sol sidebar'ında OAuth2'ye tıkla.

  • Redirects: ekle
    https://app.sosyabot.com/api/v1/auth/discord/callback
  • Client ID: OAuth2 sayfasının tepesindeki değeri kopyala.
  • Client Secret: ilk seferinde Reset Secret'e tıkla → görünen değeri kopyala (Discord bir kez gösterir).

3. Bot ekle

Sol sidebar → BotAdd Bot (onayla).

  • Privileged Gateway Intents: Sosyabot Presence veya Members intent'lerine ihtiyaç duymaz; kapalı bırak.
  • Bot Token: taze token oluşturmak için Reset Token'a tıkla, anında kopyala. Discord bot token'ı yalnızca reset anında gösterir.

Token güvenliği

Bot token'a sahip olan herkes bot'u kontrol eder. Şifre gibi davran. Sızdırılırsa Reset Token sızdırılanı geçersiz kılar ve her bağlı guild'in bot'u yeniden eklemesini zorlar.

4. Davet izinlerini yapılandır

Sol sidebar → OAuth2 → URL Generator:

  • Scopes: bot'u işaretle.
  • Bot Permissions: Send Messages'ı işaretle (gerekirse ek izinler).

Oluşturulan URL'i kopyala — bu, adminlerin sonra bot'u bir guild'e davet etmek için kullanacağı install URL'idir.

Sosyabot admin paneline yapıştırma

/admin/api-integration/discord:

  1. Client ID: OAuth2 sayfasından yapıştır.
  2. Client Secret: görünen secret'ı yapıştır.
  3. Bot Token: bot token'ı yapıştır.
  4. Status: Enable.
  5. Save → Test credentials.

Hata: Discord integration disabled: client id/secret/bot token not configured.

Doğrulama

  1. /app/channels → Connect → Discord. Discord seni bot'u bir guild'e davet etmeye yönlendirir — yönettiğin bir guild'i seç.
  2. OAuth scope'larını + bot davetini onayla. Bot bir guild admin'i tarafından onaylanabilir olmalı.
  3. Sosyabot o guild'deki yazılabilir text kanallarını listeler; birini varsayılan olarak seç.
  4. /app/publishing'ten test mesajı gönder ve Discord kanalında göründüğünü doğrula.

Sorun giderme

BelirtiSebepÇözüm
Discord integration disabled: client id/secret/bot token not configuredAdmin + ENV'de üçünden biri eksikÜçünü de sağla; Discord OAuth'a ek olarak bot token gerektirir.
Bot davet Missing Permissions gösteriyorKullanıcının hedef guild'de Manage Server izni yokYönettiği bir guild seç veya bir guild admin'i bot'u onaylasın.
Connect başarılı ama kanal listelenmiyorBot davet edildi ama her kanalda Send Messages eksikDiscord'da kanal izinlerini ayarla; bir kanalda @bot'u pingleyerek test et.
Aniden 401 UnauthorizedBot token reset veya app silindiDeveloper Portal'da bot token'ı yeniden oluştur ve admin paneli güncelle; mevcut kanal bindings çalışmaya devam eder ama güncellenene kadar mesaj gönderme başarısız.

ENV fallback

DISCORD_CLIENT_ID=<client id'in>
DISCORD_CLIENT_SECRET=<client secret'in>
DISCORD_BOT_TOKEN=<bot token'ın>

.env düzenledikten sonra ./service.sh restart api.

İlgili