Discord botunu yapılandırma: Eklemekten izin vermeye kadar
Discord'da bir botu yapılandırmak için, minimum gerekli izinlerle OAuth2 bağlantısı üzerinden sunucuya eklemeniz, listede yüksek önceliğe sahip ayrı bir rol oluşturmanız ve hassas kanallara erişimi kısıtlamanız gerekir. Kilit nokta şudur: Botun rolü, yönetmesi gereken rollerin hiyerarşisinde daha yukarıda olmalıdır, aksi takdirde moderasyon komutları çalışmaz.
Aşağıda, sunucunuzdaki otomasyon entegrasyonu sırasında tipik hatalardan kaçınmanıza yardımcı olacak detaylı bir talimat verilmiştir.
İçindekiler
Sunucu hazırlığı ve bot seçimi
Eklemeden önce "Yönetici" veya "Sunucuyu Yönet" haklarına sahip olduğunuzdan emin olun. Rol yapısını hazırlamadan botsal kurulum yapmak genellikle izin çakışmalarına yol açar.
Hazırlık adımları:
- Görevi belirleyin. Botun neden gerektiğini net bir şekilde anlayın: Moderasyon (spam silme, banlama), müzik, yeni üyeleri karşılama veya YouTube/Twitch entegrasyonu.
- Hizmet rolü oluşturun.
Sunucu Ayarları→Rollerbölümüne gidin. Örneğin,Bot YöneticisiveyaOtoModgibi yeni bir rol oluşturun. - Renk ve konumu ayarlayın. Görsel kontrol için role diğerlerinden farklı bir renk atayın. Henüz izinlerini değiştirmeyin, bunu botu ekledikten sonra yapacağız.
İpucu: Birden fazla bot kullanmayı planlıyorsanız, her biri için ayrı bir rol veya tek bir Bots grubu oluşturun, ancak bu rolleri her zaman normal kullanıcı rollerinin (örneğin Üye veya Misafir) üzerinde tutun.
OAuth2 ile bot ekleme
Kurulum süreci, hazır bir genel bot (örneğin MEE6, Dyno, Carl-bot) mi yoksa kendi geliştirdiğiniz bir bot mu kullandığınıza bağlıdır.
Genel botlar için
- Botun resmi web sitesine veya geliştirici hesabınız varsa Discord Geliştirici Portalı sayfasına gidin.
- Davet Et veya Sunucuya Ekle düğmesini bulun.
- Açılır listeden sunucunuzu seçin.
- Önemli aşama — İzinlerin seçilmesi (Permissions). Sistem standart bir set önerecektir. Gereksiz öğelerden tikleri kaldırın.
- Sohbet botu için minimum set:
Mesaj Gönder,Mesaj Geçmişini Oku,Bağlantı Yerleştir. - Moderasyon için:
Mesajları Yönet,Üyeleri At,Üyeleri Yasaklaekleyin. - Rol yönetimi için:
Rolleri Yönet(özellikle dikkatli olunmasını gerektirir).
- Sohbet botu için minimum set:
- Yetkilendirmeyi onaylayın ve captcha'yı geçin.
Kendi botlarınız için
Botu kendiniz geliştiriyorsanız, geliştirici panelinde OAuth2 URL'sini oluşturun:
OAuth2sekmesi →URL Oluşturucu.botveapplications.commands(slash komutları için) kapsamını seçin.- Aşağıda gerekli izinleri işaretleyin.
- Elde edilen bağlantıyı kopyalayın ve tarayıcıda açın.
Rolleri ve izin hiyerarşisini yapılandırma
Botun çalışmamasının en yaygın nedeni yanlış rol hiyerarşisidir. Discord'da kural şudur: Daha yüksek role sahip varlık, daha düşük role sahip varlıkları yönetebilir.
Önceliği doğru şekilde ayarlama
Sunucu Ayarları→Rollerbölümünü açın.- Bot giriş yaptığında otomatik olarak oluşturduğu rolü bulun (genellikle botun adını taşır).
- Bu rolü normal kullanıcı rollerinin (
@everyone,Üye,VIP) üstüne, ancak ana yönetici rolünün (SahipveyaBaş Yönetici) altına sürükleyin. - Bot moderatörlere rol verip alacaksa, botun rolü
Moderatörrolünden daha yukarıda olmalıdır.
Kritik hata: Botun rolü, susturmaya (mute) veya atmaya çalıştığı kullanıcının rolünden aşağıdaysa, bot ilgili küresel haklara sahip olsa bile işlem "Erişim reddedildi" hatasıyla sonuçlanır.
Rolün belirli izinlerini yapılandırma
Kesinlikle gerekli değilse bota küresel olarak Yönetici rolü vermeyin. Daha önce oluşturulan Bot Yöneticisi rolünün haklarını noktasal olarak ayarlamak daha iyidir:
- Genel izinler:
Kanalları Görüntüle,Mesaj Gönder. - Üyelik:
Bağlan(sesli kanallar için),Konuş(bot konuşuyorsa). - Moderasyon:
Üyeleri At,Üyeleri Yasakla,Üyelere Süreli Ceza Ver(rollar üzerinden susturma yerine, çünkü süreli cezalar daha modern ve güvenlidir). - Metin kanalları:
Mesajları Yönet,Tepki Ekle.
Kanal bazında izinlerin ince ayarı
Küresel izinler bota tüm sunucuya erişim sağlar. Güvenlik için eylemlerini belirli kanallarla sınırlayın.
- Bir metin kanalına sağ tıklayın →
Kanalı Düzenle→İzinler. - Botun rolünü geçersiz kılmalar listesine ekleyin.
- Noktasal izinleri yapılandırın:
#loglarkanalındaKanalı GörüntüleveMesaj Gönderizni verin, ancakHerkesi Etiketleyi yasaklayın.- Yönetimin özel kanallarında bota
Kanalı Görüntüleiznini yasaklayın, böylece gizli tartışmaları okuyamaz. - Müzik için sesli kanallarda
BağlanveKonuşizni verin, ancakÜyeleri Taşıyı yasaklayın, böylece bot insanları kazayla taşıyamaz.
Farklı bot türleri için önerilen izinler tablosu
| Bot Türü | Anahtar İzinler | Nerede Kısıtlanmalı |
|---|---|---|
| Moderatör | Mesajları Yönet, Üyelere Süreli Ceza Ver, At/Yasakla | Yöneticilerin özel kanallarına erişimi yasakla |
| Müzik | Bağlan, Konuş, VAD Kullan | Sadece genel erişimli sesli kanallarda |
| Karşılama | Mesaj Gönder, Bağlantı Yerleştir | Sadece #hoşgeldin veya #genel kanalında |
| Bildirim | Webhook'lar (kullanılıyorsa), Mesaj Gönder | Sadece haber kanallarında |
Güvenlik ve sık yapılan hatalar
Bot güvenliği, tüm sunucunun güvenliğidir. Yönetici haklarına sahip bir bot token'ının ele geçirilmesi, sunucunun hacklenmesine eşdeğerdir.
Güvenlik kontrol listesi
- Kodda token bulundurmayın. Geliştiriciyseniz, token'ı betik dosyalarında değil, ortam değişkenlerinde (
.env) saklayın. - İki Faktörlü Kimlik Doğrulama (2FA). Sunucudaki tüm yöneticiler için 2FA'yı etkinleştirin. Discord, botun hakları olsa bile kritik eylemler (örneğin kanal silme) için 2FA gerektirir.
- Düzenli denetim. Ayda bir kez bota verilen izinlerin listesini kontrol edin. Kullanılmayan özellikleri devre dışı bırakın.
- Günlük tutma (Loglama). Günlük tutmak için botları kullanın (
audit logs). Bot eylemleri ve izin değişiklikleri hakkında mesajların düşeceği ayrı bir kanal ayarlayın.
Yapılandırma sırasında sık yapılan hatalar
-
Bot sessiz kalıyor ve komutlara yanıt vermiyor.
- Neden: Botun belirli bir kanalda
Mesaj Gönderhakkı yok veyaUygulama Komutlarını Kullanhakkı küresel olarak kapalı. - Çözüm: Belirli kanalın ayarlarında izin geçersiz kılmalarını kontrol edin.
- Neden: Botun belirli bir kanalda
-
Bot rol veremiyor.
- Neden: Rol hiyerarşisi bozuk (botun rolü hedef rolden aşağıda).
- Çözüm:
Sunucu Ayarları→Rollerlistesinde botun rolünü yukarı taşıyın.
-
Bot @everyone etiketleriyle spam yapıyor.
- Neden: Gereksiz yere
Herkesi Etiketlehakkı verilmiş. - Çözüm: Bu hakkı geri alın. Önemli bildirimler için
@herekullanın veya haber aboneleri için özel bir rol oluşturun.
- Neden: Gereksiz yere
SSS: Popüler soruların cevapları
Bota "Yönetici" hakkı vermek gerekiyor mu? Hayır, %95 durumda bu gereksiz ve tehlikelidir. Bunun yerine gerekli kutucukları (Mesajları Yönet, At vb.) manuel olarak seçmek daha iyidir. "Yönetici" hakkı, belirli kanallardaki yasaklar dahil olmak üzere diğer tüm izin kısıtlamalarını yok sayar.
Neden slash komutları (/) eklendikten hemen sonra görünmüyor? Komutların küresel olarak senkronize edilmesi bazen 1 saate kadar sürebilir. Süreci hızlandırmak için Discord istemcisini yeniden başlatabilir veya geliştirici tarafından sağlanmışsa bot kontrol panelindeki "Komutları Yeniden Yükle" işlevini kullanabilirsiniz.
Sunucudan bot nasıl kaldırılır?
Sunucu Ayarları → Entegrasyonlar → Botlar bölümüne gidin. İlgili botu bulun ve "Sil" veya "Çıkar" düğmesine basın. Ayrıca botu kullanıcı listesinden normal bir üye gibi atarak da çıkarabilirsiniz.
Bot mesajları görüyor ama tepki vermiyor. "Güvenli İçerik" modunun (Safe Mode) veya Discord'un oto-moderasyon filtrelerinin açık olup olmadığını kontrol edin; bunlar, bot yanıtları bağlantı veya yasaklı kelimeler içeriyorsa bot yanıtlarını engelleyebilir.