İçeriğe geç
N'oluyo
Yayın ve Doğrulama

Doğrulama

Son güncelleme:

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-ekle ekranında 403 bot_guild_limit alır.

  • 100 sunucu üstünde ayrıcalıklı intent'ler: Botun 100 sunucunun altındayken portaldan GUILD_MEMBERS, GUILD_PRESENCES ve MESSAGE_CONTENT kutuları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 gateway 4014 ile, REST çağrısı 403 intent_approval_required ile 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: /kesfet altı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:

AnahtarKoşulNasıl tamamlanır
publicUygulama dışarıya açık olmalıBot için public: true açılmalı ya da OAuth2 yönlendirme adresi tanımlanmış olmalıdır.
descriptionUygulama açıklaması dolu olmalıPortalda uygulamanın ne yaptığını anlatan net bir açıklama yaz.
avatarUygulama görseli yüklenmiş olmalıUygulamayı tanıtan özgün bir avatar yükle.
privacy_urlhttps:// ile başlayan gizlilik politikası adresiHangi verileri sakladığını, ne kadar tuttuğunu ve silme talebinin nasıl iletileceğini anlatan yayındaki sayfanın adresini gir.
support_urlhttps:// ile başlayan destek adresiDestek sunucunun davet bağlantısını, iletişim sayfanı ya da hata bildirim adresini ekle.
owner_mfaUygulama 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 /anket komutuyla butonlu oylama başlatmasını ve /hatirlat komutuyla 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 /komut veya @bot etiketleriyle çalışabilen bir bota MESSAGE_CONTENT onayı 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_pending döner.

  • Başvurular insan gözüyle tek tek incelenir; sabit bir sonuçlanma süresi sözü verilmez. Durumu /gelistirici/uygulamalar iç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_url ve support_url adresleri yayında ve erişilebilir kalmalıdır.

  • Beyan ettiğin data_use kapsamı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, gateway 4004), açık tüm gateway ve ses bağlantıları kesilir, OAuth2 token'ları 401 döndürür, /bot-ekle kapanı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 .env dosyanı güncellemen gerekir.

Bu sayfayı yapay zekaya verirsen

Sırada ne var

  • Rehbere girmek: doğrulanmış botunu /kesfet altındaki Botlar dizininde listeleme

  • Intent'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