Skip to content

Discord

bot scope'u ve sunucu botu ile OAuth 2.0. Connect URL permissions=2048 (SEND_MESSAGES) geçer. Kanal keşfi bot API üzerinden bot token kullanır.

Kimlik bir bakışta

AlanDeğer
Kimlik modeliOAuth 2.0
Gerekli ENVDISCORD_CLIENT_ID, DISCORD_CLIENT_SECRET, DISCORD_BOT_TOKEN
Callback URL${BASE_URL}/api/v1/auth/discord/callback
Scope'lar / izinleridentify, guilds, bot
Otomatik token yenilemeEvet — süresi dolmadan 7 gün önce

ENV detayları

DISCORD_BOT_TOKEN, Discord Developer Portal'dan botun kendi token'ıdır — backend'in kanalları listelemesi ve botun adına yayın yapması için zorunludur.

Nasıl bağlanılır

  1. BağlantılarDiscordBağlan'ı aç.
  2. Yönettiğin bir guild'i seç; Discord hem OAuth scope'larını hem bot davetini onaylamanı ister.
  3. Sosyabot yazılabilir kanalları listeler ve ilkini varsayılan olarak seçer.

Token yenileme

Otomatik yenilenir. Varsayılan access-token TTL'i 1 saat'tir. Discord her yenilemede yeni bir refresh token döner; Sosyabot bunları rotasyona alır.

Notlar

  • Bot, callback'in başarılı olması için hedef guild'e davet edilmiş olmalıdır — connect URL OAuth grant'ı bot daveti ile birlikte paketler, ama hedef guild'in adminlerinin onaylaması gerekir.
  • Kanal listesi yalnızca botun yazabileceği text (type 0) ve duyuru (type 5) kanallarını içerir. İlk yazılabilir kanal varsayılan olarak otomatik seçilir.
  • Kanal ID birleşiktir: ${guildId}:${channelId}. Gerekirse connect'ten sonra kanal seçiciden farklı bir kanal seç.

Sorun giderme

Kanal needs_reconnect gösteriyorsa, access token Discord tarafından reddedilmiştir. Yaygın sebepler:

  • Kullanıcı Sosyabot'un yetkilendirmesini platform üzerinden iptal etmiştir.
  • Platform token'ı geçersiz kılmıştır (şifre değişikliği, güvenlik olayı).
  • OAuth uygulama kimlik bilgileriniz değişmiştir ve mevcut token'lar artık eşleşmiyordur.

Yukarıdaki bağlantı akışını yeniden çalıştır. Çalışma alanı genelinde checklist için Sorun Giderme'ye bak.

İlgili