Slash Komutlar ile Modern Bot Geliştirme
Discord artık prefix komutları yerine slash komutları öneriyor. Bu rehberde sıfırdan slash komut sistemi kuruyoruz.
1. Komutları Kaydetmek
// deploy-commands.js - © CodeMareFi
const { REST, Routes, SlashCommandBuilder } = require('discord.js');
const commands = [
new SlashCommandBuilder().setName('ping').setDescription('Bot gecikmesini gösterir'),
new SlashCommandBuilder().setName('merhaba').setDescription('Sana merhaba der!')
.addStringOption(opt => opt.setName('isim').setDescription('Adın ne?').setRequired(true)),
].map(cmd => cmd.toJSON());
const rest = new REST({ version: '10' }).setToken(process.env.TOKEN);
(async () => {
await rest.put(Routes.applicationGuildCommands(process.env.CLIENT_ID, process.env.GUILD_ID), { body: commands });
console.log('Komutlar kaydedildi!');
})();
2. Komutları Dinlemek
// index.js - © CodeMareFi
client.on('interactionCreate', async interaction => {
if (!interaction.isChatInputCommand()) return;
if (interaction.commandName === 'ping') {
await interaction.reply('🏓 Pong! ' + client.ws.ping + 'ms');
}
if (interaction.commandName === 'merhaba') {
const isim = interaction.options.getString('isim');
await interaction.reply('Merhaba ' + isim + '! CodeMareFi ye hoş geldin!');
}
});
CodeMareFi Tavsiyesi:
Global komutlar 1 saate kadar yayılır. Geliştirme sırasında guild komutları kullanın, anında aktif olur!
© CodeMareFi
Bu içerik codemarefi.com.tr ye aittir. İzinsiz kopyalanamaz.