Discord Botu Kotlinden Nasıl Yaparım ?

Konuyu başlatankyr karacaMod·
Yanıt
3
Görüntülenme
4
Oy
1
Son yanıt
6 sa önce· kyr karaca
4 görüntülenme

Discord Botu Kotlinden Nasıl Yaparım ?

Kotlin, modern yapısı ve güçlü kütüphane desteği sayesinde, Java dünyasının devasa ekosistemini kullanırken kısalığından (conciseness) faydalanabilirsin. Bu başlıktaki teknik yol haritası, Kotlin ile bir Discord botu yapmaya başlamanızı sağlayacak adımları içermektedir.

1. Kullanılacak Kütüphane: JDA vs. Kord

Kotlin ile Discord botu geliştirirken iki ana seçeneğin var:

  • JDA (Java Discord API): En popüler ve en köklü kütüphanedir. Java ile yazılmıştır ama Kotlin ile mükemmel çalışır. Dokümantasyonu çok geniştir.
  • Kord: Tamamen Kotlin ile yazılmıştır. Kotlin'in "Coroutines" (eşzamanlılık) yapısını doğal olarak destekler. Daha "Kotlin-vari" bir deneyim sunar.

Tavsiye: Başlangıçta kaynak bolluğu nedeniyle JDA kullanmak işini kolaylaştırabilir.

2. Gerekli Kurulumlar

  • IntelliJ IDEA: Projeni oluştururken IntelliJ IDEA kullanmanızı öneririm.
  • Gradle (Kotlin DSL): Bir Gradle (Kotlin DSL) projesi başlatmanızı öneririm.
  • build.gradle.kts dosyana:
groovy
dependencies {
    implementation("net.dv8tion:jda:5.0.0-beta.20") // JDA kütüphanesi
}

3. Basit Bir "Merhaba Dünya" Botu

Bir JDA botunu ayağa kaldırmak Kotlin ile sadece birkaç satır sürer. İşte temel bir örnek:

kotlin
import net.dv8tion.jda.api.JDABuilder
import net.dv8tion.jda.api.events.message.MessageReceivedEvent
import net.dv8tion.jda.api.hooks.ListenerAdapter

fun main() {
    val token = "BOT_TOKEN_BURAYA"
    
    // Botu oluştur ve dinleyiciyi (listener) ekle
    JDABuilder.createDefault(token)
        .addEventListeners(BotKomutlari())
        .build()
}

class BotKomutlari : ListenerAdapter() {
    override fun onMessageReceived(event: MessageReceivedEvent) {
        // Eğer mesajı yazan bir bot ise işlem yapma
        if (event.author.isBot) return

        val mesaj = event.message.contentRaw

        if (mesaj == "!merhaba") {
            event.channel.sendMessage("Selam ${event.author.asMention}! Kotlin ile çalışıyorum! 🚀").queue()
        }
    }
}

4. Kritik Kavramlar

Intents (Niyetler)

Discord, botların her veriye erişmesini istemez. Botunun mesajları okuyabilmesi için Discord Developer Portal üzerinden Message Content Intent özelliğini aktif etmen gerekir.

Slash Commands

Artık modern botlarda !komut yerine /komut yapısı (Slash Commands) tercih ediliyor. JDA içindeki upsertCommand metodunu kullanarak bu komutları tanımlayabilirsin.

Coroutines

Eğer botun veritabanına (örneğin senin StudyQuest projesindeki gibi MySQL'e) bağlanacaksa, botun donmaması için işlemleri GlobalScope.launch veya uygun bir CoroutineScope içinde yapmalısın.

5. Botu Geliştirme Süreci

Token Alma

Discord Developer Portal'dan bir uygulama oluştur ve "Bot" sekmesinden Token'ını al.

Yetkilendirme

"OAuth2" sekmesinden botuna gerekli yetkileri verip (Administrator veya belirli izinler) sunucuna davet et.

Event Handling

ListenerAdapter sınıfını kullanarak kullanıcıların mesajlarını, sunucuya katılmalarını veya ses kanalına girmelerini dinle.

Telefonun üzerinden botuna komut vererek bilgisayarında veya sunucunda işlemler yapabilirsin.

Örnek: Telefonundan Discord'a girip !pc-kapat yazdığında botun çalıştığı bilgisayarı kapatmasını sağlayabilirsin.

Sonuç: Kotlin ile Discord botu geliştirmek, hem dilin modern yapısı hem de güçlü kütüphane desteği sayesinde oldukça keyifli bir süreçtir. Bu teknik yol haritası, başlangıçta kaynak bolluğu nedeniyle JDA kullanmak işini kolaylaştırabilir.

3 yanıt4

Konuyu Yanıtla

Markdown destekler · Alıntı, kod, liste kullanabilirsiniz

Konuyu yanıtlamak için giriş yapmalısınız.

25 Nisan 2026·2 gün önce

test

27 Nisan 2026·15 sa önce

gerçekten çok işe yarayan bir bilgi bu bilgiler üzerinden yararlanarak diğer insanları bilgilendireceğim saygılar kanguru avcısı

27 Nisan 2026·6 sa önce

eyw hocam buarada isim mukemel

Bu konuda yer alanlar

Bu gönderinin yazarı ve yorum yazan üyeler (yalnızca bu konu).