- Katılım
- 9 Şub 2024
- Mesajlar
- 525
- Tepkime puanı
- 1,200
- Puanları
- 93
jhaeger
Selamlar SroCave Ailesi!
Discord bot geliştirmede en büyük değişimlerden biri Slash Commands ( / komutları ) sistemidir.
Eskiden !komut gibi prefix tabanlı sistemler kullanılırken artık Discord resmi olarak slash komutlarını öneriyor ve destekliyor.
Bu konuda sıfırdan Slash Command sistemini nasıl kurabileceğinizi anlatacağım.
Örnek:
Avantajları:
Komutlar otomatik listelenir
Kullanıcılar ne yazacağını bilir
Hata oranı düşer
Discord tarafından resmi desteklenir
Avantajı:
Komutlar 1 dakika içinde aktif olur.
Global komutlar bazen 1 saat sürebilir.
Kullanım:
Prefix sistemler hâlâ çalışsa da, modern bot geliştirme için Slash Commands kullanmak çok daha avantajlıdır.
Eğer bot geliştiriyorsanız bu sisteme geçmeniz kesinlikle önerilir.
Not: Botunuzu geliştirirken kodlarınızı yedeklemeyi ve veritabanı dosyasını güvenli tutmayı unutmayın!
Sorularınızı aşağıya yazabilirsiniz, herkese kolay gelsin!
Discord bot geliştirmede en büyük değişimlerden biri Slash Commands ( / komutları ) sistemidir.
Eskiden !komut gibi prefix tabanlı sistemler kullanılırken artık Discord resmi olarak slash komutlarını öneriyor ve destekliyor.
Bu konuda sıfırdan Slash Command sistemini nasıl kurabileceğinizi anlatacağım.
Slash Command Nedir?
Slash command, kullanıcıların / yazarak bot komutlarını görmesini ve kullanmasını sağlayan modern komut sistemidir.Örnek:
Kod:
/ping
/ban
/yardım
Avantajları:
Komutlar otomatik listelenir
Kullanıcılar ne yazacağını bilir
Hata oranı düşer
Discord tarafından resmi desteklenir
Gerekli Kurulum
Öncelikle discord.js v14 kullanıyoruz:
Bash:
npm install discord.js
Basit Slash Command Botu
Aşağıdaki örnek bot /ping komutunu oluşturur:
JavaScript:
const { Client, GatewayIntentBits, REST, Routes, SlashCommandBuilder } = require('discord.js');
const client = new Client({
intents: [GatewayIntentBits.Guilds]
});
const commands = [
new SlashCommandBuilder()
.setName('ping')
.setDescription('Botun gecikmesini gösterir')
.toJSON()
];
const rest = new REST({ version: '10' }).setToken('BOT_TOKEN');
client.once('ready', async () => {
console.log(Bot giriş yaptı: ${client.user.tag});
try {<br> await rest.put(<br> Routes.applicationCommands('CLIENT_ID'),<br> { body: commands }<br> );<br><br> console.log('Slash komutlar yüklendi!');<br>} catch (error) {<br> console.error(error);<br>}<br>
});
client.on('interactionCreate', async interaction => {
if (!interaction.isChatInputCommand()) return;
if (interaction.commandName === 'ping') {<br> await interaction.reply('Pong! 🏓');<br>}<br>
});
client.login('BOT_TOKEN');
Kod Açıklaması
SlashCommandBuilder: Komutu oluşturur
REST API: Komutları Discord'a kaydeder
interactionCreate: Komut çalıştırıldığında tetiklenir
Routes.applicationCommands: Global komut kaydı yapar
Guild (Sunucuya Özel Komut - Daha Hızlı)
Test için bunu kullanmanız önerilir:
JavaScript:
Routes.applicationGuildCommands('CLIENT_ID', 'GUILD_ID')
Avantajı:
Komutlar 1 dakika içinde aktif olur.
Global komutlar bazen 1 saat sürebilir.
Slash Command Parametre Örneği
JavaScript:
new SlashCommandBuilder()
.setName('ban')
.setDescription('Kullanıcıyı banlar')
.addUserOption(option =>
option.setName('kullanici')
.setDescription('Banlanacak kullanıcı')
.setRequired(true)
)
Kullanım:
Kod:
/ban @user
Örnek Görsel
Sonuç
Slash Command sistemi artık Discord botlarının standart yapısı haline geldi.Prefix sistemler hâlâ çalışsa da, modern bot geliştirme için Slash Commands kullanmak çok daha avantajlıdır.
Eğer bot geliştiriyorsanız bu sisteme geçmeniz kesinlikle önerilir.
Not: Botunuzu geliştirirken kodlarınızı yedeklemeyi ve veritabanı dosyasını güvenli tutmayı unutmayın!
Sorularınızı aşağıya yazabilirsiniz, herkese kolay gelsin!





