Neler yeni

Foruma hoşgeldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Discord Discord Botlarda Slash Command, Button ve Modal Yapısı Nasıl Planlanır?

Discord içeriği.
Discord greatking
Katılım
12 Yıl 9 Ay 27 Gün
Mesajlar
494
Tepkime puanı
416
Puanları
63
Yaş
38
Cinsiyetiniz
Bay
Şube
Bursa
Discord bot geliştirirken komutları sadece dosyalara bölmek yeterli olmaz; slash command, button, select menu ve modal akışının en baştan planlanması gerekir. Bu rehber, küçük ve orta ölçekli botlarda interaction tabanlı yapıyı daha okunabilir, genişletilebilir ve kullanıcı dostu kurmak için temel bir çerçeve sunar.

Interaction mantığı nedir?​


Discord tarafında slash command çalıştırmak, bir butona basmak, dropdown seçmek veya modal göndermek aynı ana fikre dayanır: Kullanıcı bir etkileşim başlatır, uygulama da buna uygun bir yanıt döner. Bu yüzden modern botlarda komut sistemi ile arayüz bileşenlerini ayrı dünyalar gibi değil, aynı akışın parçaları gibi düşünmek daha sağlıklıdır.

Hangi durumda hangi yapı kullanılmalı?​


  • Slash command: Kullanıcının doğrudan bir işlem başlatacağı durumlar için uygundur. Örneğin ban, profil, kayıt, yardım veya ayar komutları.
  • Button: Mesaj üzerindeki kısa ve net aksiyonlarda kullanılır. Onayla, iptal et, sayfa değiştir, rol al gibi işlemler buna örnektir.
  • Select menu: Kullanıcının birkaç seçenek arasından tercih yapması gerektiğinde daha temiz görünür.
  • Modal: Kullanıcıdan metin girişi almak için uygundur. Başvuru formu, destek talebi, sebep yazma veya uzun açıklama isteyen işlemlerde kullanılır.

Komut tasarımında önerilen ayrım​


Küçük botlarda bile her şeyi tek dosyada toplamak ileride bakım zorluğu çıkarır. Daha net bir yapı için komutun amacı, interaction yanıtı ve yardımcı servisler ayrı tutulabilir.

Kod:
src/
  commands/
    moderation/
      ban.js
    utility/
      userinfo.js
  interactions/
    buttons/
    modals/
    selects/
  services/
    permissions.js
    logger.js

Bu yapı zorunlu bir standart değil, okunabilirlik için pratik bir ayrımdır. Önemli olan buton, modal ve select işlemlerinin rastgele dosyalara dağılmaması ve hangi interaction'ın hangi komut akışına bağlı olduğunun anlaşılır kalmasıdır.

Yetki ve hata mesajı planı​


Interaction akışında en çok yapılan hatalardan biri, sadece başarılı senaryoyu düşünmektir. Oysa kullanıcı yetkisiz olabilir, modal süresi dolabilir, botun rolü yetersiz kalabilir veya komut sadece belirli kanalda çalışmalıdır.

  • Yetki kontrolünü komutun en başında yapın.
  • Kullanıcıya gösterilecek hata mesajını kısa ve anlaşılır yazın.
  • Gereksiz herkese açık hata mesajı yerine uygun yerlerde ephemeral yanıt kullanın.
  • Log kanalına geliştirici için daha teknik bilgi gönderebilirsiniz.

İpucu
Kullanıcıya "interaction failed" hissi yaşatmamak için uzun süren işlemlerde önce yanıtı erteleyip işlemi sonra tamamlamak daha iyi sonuç verir.

Basit planlama örneği​


İşlemUygun interactionNot
Rol almaButton veya select menuSeçenek sayısına göre karar verilebilir
Destek talebiModalKullanıcıdan açıklama alınabilir
Kullanıcı sorgulamaSlash commandParametreyle temiz çalışır
Sayfalı yardım menüsüButtonÖnceki ve sonraki sayfa akışı kurulabilir

Discord bot mimarisinde amaç sadece komutun çalışması değil, kullanıcı etkileşiminin tahmin edilebilir olmasıdır. Slash command ana giriş noktası, button ve select menu hızlı seçim alanı, modal ise veri toplama aracı olarak düşünülürse proje büyüdükçe kontrol daha kolay kalır.
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz

  • Geniş / Dar görünüm

    Temanızı geniş yada dar olarak kullanmak için kullanabileceğiniz bir yapıyı kontrolünü sağlayabilirsiniz.

    Izgara görünümlü forum listesi

    Forum listesindeki düzeni ızgara yada sıradan listeleme tarzındaki yapının kontrolünü sağlayabilirsiniz.

    Resimli ızgara modu

    Izgara forum listesinde resimleri açıp/kapatabileceğiniz yapının kontrolünü sağlayabilirsiniz.

    Kenar çubuğunu kapat

    Kenar çubuğunu kapatarak forumdaki kalabalık görünümde kurtulabilirsiniz.

    Sabit kenar çubuğu

    Kenar çubuğunu sabitleyerek daha kullanışlı ve erişiminizi kolaylaştırabilirsiniz.

    Köşe kıvrımlarını kapat

    Blokların köşelerinde bulunan kıvrımları kapatıp/açarak zevkinize göre kullanabilirsiniz.

  • Zevkini yansıtan renk kombinasyonunu seç
    Arkaplan resimleri
    Renk geçişli arkaplanlar
Geri