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
| Alan | Değer |
|---|---|
| Kimlik modeli | OAuth 2.0 |
| Gerekli ENV | DISCORD_CLIENT_ID, DISCORD_CLIENT_SECRET, DISCORD_BOT_TOKEN |
| Callback URL | ${BASE_URL}/api/v1/auth/discord/callback |
| Scope'lar / izinler | identify, guilds, bot |
| Otomatik token yenileme | Evet — 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
- Bağlantılar → Discord → Bağlan'ı aç.
- Yönettiğin bir guild'i seç; Discord hem OAuth scope'larını hem bot davetini onaylamanı ister.
- 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.