İçeriğe geç
N'oluyo
Kaynaklar

Başka platformdan gelenler

Son güncelleme:

Daha önce başka bir sohbet platformunda bot geliştirdiysen N'oluyo'nun kavramlarının büyük bölümü sana ilk dakikadan tanıdık gelecektir. Ancak N'oluyo başka bir platformun birebir kopyası veya uyumluluk katmanı değildir: gizlilik, güvenlik ve öngörülebilirlik için bilinçli olarak farklı tasarlanmış kuralları vardır.

Tanıdık gelenler

Şu yapı taşları bildiğin zihinsel modelle aynı şekilde çalışır:

  • Snowflake kimlikler: 64 bitlik zaman sıralı kimlikler JSON içinde her zaman ondalık metin ("21531879014400001") olarak taşınır; sağ kaydırma (id >> 22) mantığı aynıdır.

  • Bot kimlik başlığı: REST rotalarında Authorization: Bot <token>, gateway op 2 (IDENTIFY) çerçevesinde ise öneksiz düz token gönderilir.

  • Intent bit maskesi ve ayrıcalıklı üçlü: Hangi olayların geleceğini intents sayısı belirler; GUILD_MEMBERS (1 << 1), GUILD_PRESENCES (1 << 8) ve MESSAGE_CONTENT (1 << 15) ayrıcalıklıdır, portaldan açılır ve 100 sunucudan itibaren onay ister.

  • Shard mantığı ve oturum sürdürme: [shard_id, shard_count] dizisi, op 1 (HEARTBEAT) / op 11 (HEARTBEAT_ACK), READY ardından tek tek akan GUILD_CREATE olayları ve kopunca op 6 (RESUME) ile devam etme akışı tanıdıktır.

  • Zengin mesajlar ve etkileşimler: embeds, eylem satırlı (type: 1) buton ve seçim menüleri (components), eğik çizgi (/) ve sağ tık komutları, açılır formlar (modal), 3 saniyelik ilk yanıt kuralı, flags: 64 ephemeral yanıtlar ve Ed25519 imzalı HTTP etkileşim teslimi aynı kavramlarla çalışır.

  • Hız sınırı başlıkları: Yanıtlarda X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset-After, X-RateLimit-Bucket ve 429 durumunda Retry-After ile X-RateLimit-Scope döner.

Bilinçli olarak farklı olanlar

Başka bir platformdaki botunu N'oluyo'ya taşırken takılmamak için aşağıdaki fark tablosunu baştan kontrol et:

KonuN'oluyo'daki kuralNeden böyle ve ne yapmalısın
Taban adres ve sürümhttps://noluyo.net/api/v1 ve bot gateway adresi için GET /api/v1/gateway/bot (wss://noluyo.net/bot-gateway)/api/v9 veya /api/v10 yoktur; insan istemcilerinin kullandığı /gateway yolu bot token'ını 4004 ile reddeder.
Gateway opcode 30 ve 31op 30 (PHONE_CAMERA) ve op 31 (ACTIVE) yalnızca insan uygulamalarına aittir; gönderen bot 4001 UNKNOWN_OPCODE ile kapatılırSunucu abonelikleri için istemci tarafı özel opcode gönderilmez; sunucu olayları op 2 içindeki intents bitleriyle gelir.
Gateway sıkıştırması yokBot gateway bağlantısında zlib-stream veya zstd sıkıştırması sunulmaz; ?compress= parametresi yok sayılırHer çerçeve her iki yönde de düz UTF-8 JSON metnidir; ek sıkıştırma çözücüsü kurma.
Embed görselleri yalnızca attachment://embeds[].image.url, thumbnail.url, author.icon_url ve footer.icon_url yalnızca aynı mesajla yüklenen attachment://dosya.png değerini kabul ederDış https:// görsel adresi kullanıcıların IP adresini üçüncü taraf sunuculara sızdırabileceği için 400 validation_failed ile reddedilir. Görseli multipart/form-data ile ekle (Embed'ler).
Seste sıfır dinleme (yalnız yayın)Botlar seste op 4 ve LiveKit (wss://noluyo.net/rtc) üzerinden yalnızca tek bir mikrofon ses izi yayınlar; canSubscribe: false zorunludurÖzel UDP ses şifrelemesi yerine standart LiveKit WebRTC kullanılır ve medya sunucusu bota hiçbir ses karesi göndermez (Ses).
Sıkı DM gizliliği ve 24 saat penceresiPOST /users/@me/channels botlara kapalıdır (403 bot_forbidden); bot asla ilk DM'yi atamazDM kanalını yalnızca kişi açar. Kişinin son mesajı, komutu veya buton basmasından sonra botun 24 saat yanıt penceresi vardır; sonrasında 403 dm_window_closed döner (Özel mesajlar).
Katı JSON ve alan doğrulamasıKişi/uygulama rotalarında bilinmeyen JSON alanları 400 invalid_body ile reddedilir; bot rotalarında sayısal ID'ler ve şema dışı değerler reddedilirID ve izin bitlerini her zaman tırnak içinde metin ("68608") olarak gönder; yalnızca REST referansında belgelenen alanları kullan.
Ekleme bağlantısı biçimiBot ekleme adresi /oauth2/authorize?scope=bot değil, doğrudan https://noluyo.net/bot-ekle/<application_id>?izin=<deger> şeklindedir/oauth2/authorize yalnızca N'oluyo ile giriş yap (kullanıcı kimlik doğrulaması) içindir ve S256 PKCE zorunludur.
Ortak platform bütçesiBotların yoğun yazma ve büyük embed yayılma istekleri ortak koruma tavanına tabidir (X-RateLimit-Scope: shared ve fanout_too_large)429 aldığında X-RateLimit-Scope: shared gelebilir; retry_after süresine uy (Hız sınırları).

Taşıma kontrol listesi

Var olan bir botun iş mantığını N'oluyo'ya taşırken şu sırayı izle:

  1. Eski kütüphane bağımlılığını kaldırıp noluyo-bot paketini (JS veya Python) kur.

  2. Tüm dış URL'li embed görsellerini yerel dosya veya bellek tamponu yüklemesiyle attachment://... biçimine çevir.

  3. Üyelere kendiliğinden özel mesaj (DM) atan akışları kanal içi ephemeral (flags: 64) yanıtlara dönüştür; üye bota kendisi DM açarsa 24 saat kuralına ve dm_closed hatasına göre davran.

  4. Ses çalan kodun varsa özel ses soketi paketlerini çıkarıp bot.voice.join(...) ve @livekit/rtc-node / livekit akışına geçir; ses dinleme/kayıt özelliği varsa kaldır.

  5. Sunucu ekleme bağlantısını https://noluyo.net/bot-ekle/<app_id>?izin=... olarak güncelle.

Bu sayfayı yapay zekaya verirsen

Sırada ne var