• Buradasın

    Discord Botu İçin AFK Komutu Geliştirme Eğitimi

    youtube.com/watch?v=6TJTTBudqq0

    Yapay zekadan makale özeti

    • Bu video, bir eğitmen tarafından sunulan Discord botu geliştirme eğitimidir. Eğitmen, izleyicilere adım adım Discord botu için database bağlama ve AFK komutu oluşturma sürecini göstermektedir.
    • Video, öncelikle Bookman modülü kullanarak database bağlama işlemini anlatarak başlıyor, ardından botun core kısmına global bir database özelliği ekleniyor. Daha sonra APK komutu oluşturuluyor; bu komut, kullanıcıların belirli bir sebep belirterek afk moduna girmelerini sağlıyor ve bu bilgiler veritabanına kaydediliyor. Son olarak, kullanıcıların AFK durumlarını kaydetmek için bir interface oluşturuluyor ve milisaniye dönüşümleri yapılıyor.
    • Eğitim, kullanıcıların kendilerini etiketlemelerini engellemek için kontroller ekleme ve geliştirilen komutun test edilmesi aşamalarını da içermektedir. Video, kullanıcıların AFK durumlarını nasıl görebilecekleri ve komutun nasıl çalıştığı açıklamasıyla sonlanmaktadır.
    Discord Botuna Database Bağlama
    • Video, Discord botuna database bağlama konusunu ele alıyor.
    • Back planda çalışan development server için database modu indirilecek ve Bookman modülü kullanılacak.
    • Bookman modülü npm install komutuyla indirilip, package.json dosyasına eklenerek gelecekte hızlıca kullanılabilir hale getirilecek.
    00:54Database Yapılandırması
    • Core dosyasında public database adında bir property oluşturuluyor.
    • Database.ts dosyası oluşturulup, Bookman modu içerisindeki database class ve fs adaptör klasını import ediyoruz.
    • Global bir database oluşturuluyor ve fs adaptör kullanılarak database dosyalarının toplanacağı ana klasör belirleniyor.
    04:18APK Komutu Oluşturma
    • APK komutu, bir sebep belirterek afk moduna girmeyi sağlayacak ve bu veri botun database'ine kaydedilecek.
    • Afk.ts dosyası oluşturulup, komutun içeriği kopyalanıp düzenleniyor.
    • Komutun açıklaması ve alternatif komutları belirleniyor.
    05:59APK Komutunun İşlevselliği
    • Komutun çalışması için client import ediliyor ve argümanlar kontrol ediliyor.
    • Afk olma sebebi belirtilmediğinde uyarı veriliyor.
    • Belirtilen sebebin uzunluğu 60 karakterden uzunsa uyarı veriliyor.
    07:19Database'e Veri Kaydetme
    • Cli.database.global.set fonksiyonu kullanılarak database'e veri kaydediliyor.
    • Kullanıcının ne zaman afk olduğunu ve neden afk olduğunu database'e kaydediyoruz.
    • Kullanıcıya başarıyla afk moduna girdiği mesajı gönderiliyor.
    09:13APK Komutunun Test Edilmesi
    • Bot test ediliyor ve APK komutu başarıyla çalışıyor.
    • 60 karakterden uzun bir sebep belirtildiğinde uyarı veriliyor.
    • Global dosyasında kaydedilen veriler görüntüleniyor.
    10:12Mesaj İşleme Fonksiyonu
    • Mesaj işleme fonksiyonunda "çek_afk" adında bir property oluşturuluyor.
    • Bu fonksiyon, database'den veri çekmeye çalışacak ve void (hiçbir veri döndürmeyecek) bir fonksiyon olacak.
    • Fonksiyonun iki kontrolü olacak: mesajı gönderen kişi afk modunda ise afk'dan çıkması ve mesaj içeriğinde etiket varsa etiketlenen kişi afk ise uyarı göndermesi.
    11:57AFK Sistemi İçin Veri Kaydetme
    • Mesajın gönderildiği tarihi almak için "const now = Date()" kullanılıyor.
    • Database'e veri kaydederken ne kaydedildiği belirtilmediği için, önceden kaydedilen verilere dayanarak "stat" olarak timestamp ve "reason" olarak stream kaydediliyor.
    • Type definition'lar için "struct types" klasörü oluşturulup, "export interface apkData" ile "reason" (string) ve "start" (number) özellikleri tanımlanıyor.
    14:18AFK Modundan Çıkış İşlemi
    • Bir kullanıcı mesaj gönderdiğinde, "afk" modundan çıkması gerekiyor.
    • "client.database.global.delete" fonksiyonu ile kullanıcıdan "apk" propertisi siliniyor ve database'de bu kullanıcı ile ilgili afk verisi olmadığı için artık afk olarak görünmeyecek.
    • Kullanıcıya "afk modundan çıktınız, afk kalma süreniz" şeklinde uyarı mesajı gönderiliyor.
    15:14AFK Süresi Hesaplama
    • "const pars" fonksiyonu ile afk süresi hesaplanıyor.
    • Şimdiki zaman ile geçmiş zaman arasındaki fark milisaniye cinsinden hesaplanıyor.
    • Kullanıcıya "afk kalma süreniz: gün saat dakika saniye" şeklinde uyarı mesajı gönderiliyor.
    17:19Etiketleme Kontrolü
    • Mesajda etiket varsa ve etiketlenen kişi bot değilse, işlem iptal ediliyor.
    • Kullanıcı kendisini etiketleyip botu mal etmeye çalışmasın diye, mesajın dış ID'si ile kullanıcı ID'si karşılaştırılıyor.
    • Etiketlenen kişi afk değilse, "if !data.return" ile uyarı mesajı gönderilmiyor.
    20:44Fonksiyonun Kullanımı ve Test
    • Yazılan fonksiyonun hiçbir yerde kullanılmadığı için, mesajın execute kısmına "afkCheck" fonksiyonu ekleniyor.
    • Bot test edildiğinde, "!afk test" komutu ile kullanıcı afk moduna sokulabiliyor ve afk süresi artıyor.
    • "!afk modundan çıktınız" mesajı ile afk modundan çıkıldığında, kullanıcılar afk durumunu görebiliyor.

    Yanıtı değerlendir

  • Yazeka sinir ağı makaleleri veya videoları özetliyor