在discord.js v14中,bot的事件监听器和指令处理器的写法有所变化。需要将原先的写法进行修改。
代码示例:
原先的指令处理器代码:
client.on('message', message => {
if (message.content.startsWith('!ping')) {
message.channel.send('pong!');
}
});
修改后的指令处理器代码:
const { SlashCommandBuilder } = require('@discordjs/builders');
const command = new SlashCommandBuilder()
.setName('ping')
.setDescription('回应pong');
client.on('interactionCreate', async interaction => {
if (!interaction.isCommand()) return;
if (interaction.commandName === 'ping') {
await interaction.reply('pong!');
}
});
在此示例中,使用了新的SlashCommandBuilder
类来创建一个响应Slash命令的指令处理器。同时,interactionCreate
事件也替换了原先的message
事件。