Bir Discord botu, birkaç öngörülebilir nedenden biri yüzünden çevrimdışı olur: token’ın sıfırlanması, kapatılmış bir ayrıcalıklı intent, barındırılan bir botun süresi dolmuş oy penceresi veya botun bağlı olduğu sunucudan çıkarılması. Discord’un gateway’i hangisi olduğunu bir kapatma koduyla bildirir. 4004 ve 4013/4014 en sık gördüğün iki koddur ve her birinin “yeniden başlat ve umut et” yerine belirli, mekanik bir çözümü vardır.

A user's bot token runs on a Noxyr node and comes online as their own branded bot. Your token Noxyr node MyBot Online

Buradan başla: en olası neden önce

Her birinin gerçekte ne sıklıkla olduğuna göre sıralı:

  1. Token sıfırlandı. Birisi Geliştirici Portalı’nda isteyerek ya da yanlışlıkla Token’ı Sıfırla düğmesine bastı ve botun kullandığı eski token artık geçersiz.
  2. Ayrıcalıklı bir intent kapatıldı. Bot zaten kurulduktan sonra Sunucu Üyeleri Intent’i veya Mesaj İçeriği Intent’i kapatıldı.
  3. Oy veya abonelik penceresi sona erdi. Noxyr’ın Özel Bot’u gibi barındırılan bir bottta çalışma süresi bir Top.gg oyuna bağlıdır; pencere ve ek süre birlikte bitti.
  4. Bot sunucudan çıkarıldı ya da bağlı olduğu bir bot çıkarıldı. Özel Bot özellikle Noxyr’ın kendi varlığına bağlıdır; Noxyr’ı atmak, o sunucudaki özel botu durdurur.
  5. Gerçek bir kesinti. Discord’un kendisi kötü bir gün geçiriyor olabilir. Nadirdir, ama sorunun kurulumunda olduğunu varsaymadan önce discordstatus.com adresine bak.

Gateway kapatma kodlarının gerçek anlamı

KodAnlamıTipik neden
4004Kimlik doğrulama başarısızToken yanlış veya Geliştirici Portalı’nda sıfırlanmış
4013Geçersiz intent(ler)Botun kodu var olmayan bir intent istedi ya da Discord’un reddettiği bir kombinasyon istedi
4014İzin verilmeyen intent(ler)Bot, uygulama için açık olmayan bir ayrıcalıklı intent (Sunucu Üyeleri veya Mesaj İçeriği) istedi

Pratikte 4013 ve 4014, çoğu bot için aynı temel nedenle ortaya çıkar: kodun ihtiyaç duyduğu ayrıcalıklı bir intent portalda kapalıdır. Discord.js ve benzeri kütüphaneler bunu bazen ham sayısal kod yerine loglarda “disallowed intents” hatası olarak bildirir, ama sorun aynıdır. Ayrıcalıklı gateway intent’leri rehberimiz, her intent’in neyi kontrol ettiğini ve onsuz neyin bozulduğunu daha ayrıntılı anlatır.

Noxyr Özel Bot’ta her birini düzeltmek

Gateway 4004 veya “Discord bu token’ı reddetti”

Botun en son giriş yaptığı token artık yok. Bu, token Geliştirici Portalı’nda sıfırlandığında olur; bu bilinçli bir güvenlik yenilemesi olabilir ya da bir hata olabilir (Bot sekmesinde gezinirken yanlışlıkla Token’ı Sıfırla düğmesine basmak gibi).

  1. Discord Geliştirici Portalı’nı aç, uygulamayı seç ve Bot sekmesine git.
  2. Token’ı Sıfırla düğmesine yeniden bas; yeni bir token üretilir. Discord onu yalnızca bir kez gösterdiği için hemen kopyala.
  3. Noxyr kontrol panelindeki Özel Bot sayfasını aç ve yeni token’ı yapıştır.
  4. Botu yeniden açık konuma getir. Noxyr’ın düğümleri, geçersiz token’a sahip bir botu ölü bir yeniden bağlanma döngüsünde kalmaması için otomatik olarak kapatır; çalışan bir token yapıştırıp botu açmak, onu yeniden başlatan şeydir.

Gateway 4013/4014 veya “Discord bağlantıyı reddetti”

Kurulum sırasında açık olan ayrıcalıklı bir intent, daha sonra kapatıldı. Genellikle biri alakasız bir nedenle Bot sekmesinde gezinirken oluyor.

  1. Geliştirici Portalı’nda Bot → Ayrıcalıklı Gateway Intent’leri bölümüne git.
  2. Sunucu Üyeleri Intent’i ve Mesaj İçeriği Intent’ini yeniden aç. İkisi de gereklidir; Noxyr’ın özellik seti (karşılama mesajları, üye sayıları, yapay zekâ sohbeti, otomatik yanıtlayıcılar, bilet dökümleri) ikisine de ihtiyaç duyar.
  3. Kaydet, ardından kontrol panelindeki Özel Bot sayfasından botu yeniden aç. Discord intent değişikliklerini yalnızca bir sonraki girişte uyguladığı için, anahtarı yeniden açmak tek başına yeterli değildir; botun yeniden bağlanması gerekir.

Oy penceresi ve ek süre sona erdi

Özel Bot bir Top.gg oyu ile çalışır. Tek bir oy onu 12 saat açar; bundan sonra 74 saatlik bir ek süre, kontrol paneli sayfası kilitlenirken botun çalışmaya devam etmesini sağlar. İkisi de bitirse bot çevrimdışı olur, ama kurulumunda hiçbir şey silinmez.

  1. Top.gg üzerinden Noxyr’a oy ver.
  2. Özel Bot sayfasına dön; oy kaydedilir kaydedilmez kilit hemen açılır.
  3. Bot, daha önce kullandığı token ve ayarlarla kendiliğinden yeniden başlar.

Bu durumu önlemek için son oyundan 24 saat sonra (ek sürenin 12. saatinde) bir hatırlatma DM’i gönderilir. Botun durumu “askıya alındı” gösteriyorsa, sayfanın kendisi bunun oy mu, ek süre mi, yoksa aşağıdaki bir sonraki sorun mu olduğunu söyler.

Noxyr sunucudan çıkarıldı

Özel Bot, o sunucu için Noxyr’ın ayarları ve veritabanı üzerinde çalışır; bu yüzden Noxyr’ın hâlâ üye olmasına bağlıdır. Noxyr atılırsa, özel bot yaklaşık bir dakika içinde o sunucuda hizmet vermeyi bırakır ve Noxyr’ı çıkaran kişiye (ve başka biriyse bot sahibine) bir davet bağlantısıyla DM gönderir.

  1. DM’deki bağlantıyı ya da Noxyr ana sayfasını kullanarak Noxyr’ı yeniden davet et.
  2. Noxyr sunucuya geri döner dönmez özel bot kendiliğinden devam eder; token veya intent’lere dokunmana gerek yoktur.

Bu belirli nedenle durdurulmuşken oy penceresi harcanmak yerine duraklatılır; bu yüzden Noxyr’ı hızlıca yeniden davet etmek sana zaman kaybettirmez.

Yukarıdakilerin hiçbiri çözmezse

Önce Özel Bot sayfasındaki durum mesajına bak. Noxyr’ın düğümleri, çıplak bir hata kodu yerine sade bir dille neden yazar (kötü token, kötü intent’ler, askıya alma veya başka her şey için genel bir yeniden deneme mesajı). Durum mesajı yukarıdaki durumların hiçbiriyle eşleşmiyorsa ya da doğru olması gereken bir düzeltmeden sonra bot çevrimdışı kalırsa, belirli sunucuna en hızlı şekilde bakılmasını Destek Merkezi sağlar. Tam kurulum ve sorun giderme adımları da Özel Bot dokümanlarında bulunur.

Sık sorulan sorular

Hiçbir şey yapmadığım halde botum neden çevrimdışı oldu? “Hiçbir şey yapmadım” genellikle portal veya sunucu erişimi olan başka birinin bir şeyi değiştirdiği anlamına gelir: token sıfırlama, intent anahtarı ya da atılma. Önce Özel Bot sayfasının durum mesajına bak; nedeni adıyla belirtir.

Bot çevrimdışı olursa verilerim kaybolur mu? Hayır. Bot neden durursa assın; token’lar, ayarlar, biletler, ürünler, faturalar ve dökümler korunur. Nedeni düzeltmek her şeyi olduğu gibi geri getirir.

Oya bağlı çevrimdışı durumdan tamamen kaçınabilir miyim? Yaklaşık her üç buçuk günde bir oy ver (12 saatlik pencere ve 74 saatlik ek süre bitmeden önce) ve bot o nedenle asla kapanmaz.

Botu her yeniden başlattığımda intent’leri yeniden açmam gerekir mi? Hayır. Intent’ler kendi başına sıfırlanan bir şey değil, Discord uygulamasının kendisindeki bir ayardır. İkisi de açılıp kaydedildikten sonra, biri kapatana kadar açık kalır.

Botu yeniden çevrimiçi etmeye hazır mısın? Yukarıdaki nedeni düzelt, ardından botu Özel Bot sayfasından başlat; ilk kez kuruyorsan da Noxyr’ı ücretsiz ekle.