Doğrulama
Yeni oluşturduğun bir bot ya da N'oluyo ile giriş uygulaması hemen çalışır; geliştirmek, arkadaşlarının sunucularında denemek ve ilk topluluğunu kurmak için hiçbir başvuru yapman gerekmez. Doğrulama yalnızca uygulaman büyüdüğünde devreye girer.
Doğrulama ne zaman gerekir
Üç sınırdan birine yaklaştığında doğrulama başvurusu yaparsın:
100 sunucu sınırı (botlar): Doğrulanmamış bir bot en çok 100 sunucuya eklenebilir; 101. sunucu
/bot-ekleekranında403 bot_guild_limitalır.100 sunucu üstünde ayrıcalıklı intent'ler: Botun 100 sunucunun altındayken portaldan
GUILD_MEMBERS,GUILD_PRESENCESveMESSAGE_CONTENTkutularını serbestçe açabilirsin. 100 sunucuya ulaştığında bu üç ayrıcalıklı intent'in açık kalması için incelemede onaylanmış olmaları (approved_intents) gerekir; aksi halde gateway4014ile, REST çağrısı403 intent_approval_requiredile kapanır.100 kullanıcı sınırı (N'oluyo ile giriş): Doğrulanmamış bir OAuth2 uygulamasına en çok 100 farklı kişi giriş yapabilir (
403 oauth_user_cap).Bot rehberinde listelenme:
/kesfetaltındaki Botlar dizininde yer almak isteyen her bot önce doğrulanır (want_listing: true).
Başvuru öncesi kontrol listesi
/gelistirici/uygulamalar sayfasındaki Doğrulama bölümü (POST /api/v1/applications/{application_id}/review) başvuruyu göndermeden önce altı önkoşulu denetler. Eksik varsa 400 review_requirements yanıtının errors nesnesinde eksik anahtarlar tek tek döner:
| Anahtar | Koşul | Nasıl tamamlanır |
|---|---|---|
public | Uygulama dışarıya açık olmalı | Bot için public: true açılmalı ya da OAuth2 yönlendirme adresi tanımlanmış olmalıdır. |
description | Uygulama açıklaması dolu olmalı | Portalda uygulamanın ne yaptığını anlatan net bir açıklama yaz. |
avatar | Uygulama görseli yüklenmiş olmalı | Uygulamayı tanıtan özgün bir avatar yükle. |
privacy_url | https:// ile başlayan gizlilik politikası adresi | Hangi verileri sakladığını, ne kadar tuttuğunu ve silme talebinin nasıl iletileceğini anlatan yayındaki sayfanın adresini gir. |
support_url | https:// ile başlayan destek adresi | Destek sunucunun davet bağlantısını, iletişim sayfanı ya da hata bildirim adresini ekle. |
owner_mfa | Uygulama sahibinin iki aşamalı doğrulaması açık olmalı | Kendi N'oluyo hesabında Ayarlar → Güvenlik bölümünden iki aşamalı doğrulamayı (2FA) etkinleştir. |
İyi bir başvuru metni nasıl yazılır
Başvuru formunda iki metin alanı (purpose ve data_use), ayrıcalıklı intent bit maskesi (requested_intents) ve rehber tercihi (want_listing) bulunur. İnceleyen kişi kodunu değil, bu açıklamaları ve uygulamanın gerçek davranışını okur.
İyi örnek:
Amaç (
purpose): *"Sunucu yöneticilerinin/anketkomutuyla butonlu oylama başlatmasını ve/hatirlatkomutuyla belirli bir kanala zamanlı duyuru bırakmasını sağlar."*Veri kullanımı (
data_use): *"Yalnızca aktif anketlerin kanal kimliğini, mesaj kimliğini, seçenek metinlerini ve oy verenlerin kullanıcı kimliklerini (user.id) PostgreSQL tablosunda tutarız. Anket kapandıktan 7 gün sonra oy kayıtları otomatik silinir. Sunucu bottan çıkarıldığında (GUILD_DELETE) o sunucuya ait tüm satırlar hemen silinir. Mesaj içerikleri okunmaz ve üçüncü taraflarla paylaşılmaz."*
Zayıf örnek (reddedilir):
*"Çok amaçlı moderasyon ve eğlence botu. Hiçbir veri toplamıyoruz, her şey güvenli."* (Veritabanında sunucu ayarı ya da sayaç tuttuğu halde "hiçbir veri toplamıyoruz" demek ya da ne yaptığını tek cümleyle geçiştirmek başvurunun geri dönmesine yol açar.)
Ayrıcalıklı intent gerekçesi
requested_intents alanında GUILD_MEMBERS (1 << 1), GUILD_PRESENCES (1 << 8) veya MESSAGE_CONTENT (1 << 15) istiyorsan her birinin neden normal komutlarla çözülemediğini açıkça yaz:
MESSAGE_CONTENT: Yalnızca/komutveya@botetiketleriyle çalışabilen bir botaMESSAGE_CONTENTonayı verilmez. Otomatik sözcük süzgeci ya da bağlantı denetimi gibi her mesajı görmek zorunda olan özellikler geçerli gerekçedir.GUILD_MEMBERS: Yeni katılan üyeye karşılama mesajı atmak, otomatik rol vermek ya da üye listesi senkronlamak geçerli gerekçedir.GUILD_PRESENCES: Çevrimiçi/çevrimdışı durum geçişi olmadan çalışmayan somut bir özellik göstermelisin; salt istatistik grafiği toplamak için onaylanmaz.
Onay çıktığında yalnızca uygun görülen intent'ler approved_intents alanına işlenir.
İnceleme süreci ve ret durumunda ne olur
Aynı uygulama için aynı anda yalnızca bir bekleyen başvuru bulunabilir; bekleyen başvuru varken ikinci kez gönderirsen
400 review_pendingdöner.Başvurular insan gözüyle tek tek incelenir; sabit bir sonuçlanma süresi sözü verilmez. Durumu
/gelistirici/uygulamalariçindeki Doğrulama kartından (GET /api/v1/applications/{application_id}/review) takip edebilirsin; karar çıktığında hesabının dilinde e-posta da gönderilir.Başvuru reddedilirse (
rejected): İnceleyen kişinin yazdığı açıklama (note) portalda Doğrulama kartında görünür. Eksikleri giderip dilediğin zaman yeni bir başvuru gönderebilirsin.
Doğrulanmış uygulamanın sorumlulukları ve acil durdurma
Doğrulanmış rozeti kalıcı bir ayrıcalık değil, süregelen bir güven sözüdür:
privacy_urlvesupport_urladresleri yayında ve erişilebilir kalmalıdır.Beyan ettiğin
data_usekapsamının dışına çıkacak yeni bir veri toplamaya başlarsan önce gizlilik metnini güncelle.Acil durdurma: Bir uygulamanın token'ı sızdırılırsa, kullanıcı gizliliğini ihlal ederse ya da platform sınırlarını kötüye kullanırsa uygulama acil olarak durdurulur. Durdurulan uygulamanın bot token'ı anında geçersiz kılınır (
401 invalid_bot_token, gateway4004), açık tüm gateway ve ses bağlantıları kesilir, OAuth2 token'ları401döndürür,/bot-eklekapanır ve bot rehberden düşer. Sorun giderilip uygulama yeniden açılsa bile eski bot token'ı kalıcı olarak geçersizdir; portaldan yeni bir token üretip.envdosyanı güncellemen gerekir.
Bu sayfayı yapay zekaya verirsen
Sırada ne var
Rehbere girmek: doğrulanmış botunu
/kesfetaltındaki Botlar dizininde listelemeIntent'ler: normal ve ayrıcalıklı intent bitlerinin tam tablosu
Güvenlik: token sızıntılarını önleme ve iki aşamalı doğrulama