不一致JS-交互创建和消息创建 [英] Discord JS - interactionCreate and messageCreate

查看:0
本文介绍了不一致JS-交互创建和消息创建的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在尝试使用interactionCreate事件,但不知何故不起作用。我不确定为什么,我也没有找到关于这个事件的确切文档,只知道它用于执行斜杠命令。但是,出于此目的,我使用了MessageCreate事件,它工作正常。

const Event = require('../handlers/Event.js');

module.exports = new Event('messageCreate', (client, message) => {
    if (!message.content.startsWith(client.prefix) || message.author.bot) return;

    const args = message.content.substring(client.prefix.length).split(/ +/);
    try {
        const command = client.commands.find(cmd => cmd.name == args[0] || cmd.alias == args[0]);
        command.run(message, args, client);
    } catch (error) {
        message.channel.send('Wrong command.');
    }
});

我的交互创建事件有什么问题?

const Event = require('../handlers/Event.js');

module.exports = new Event('interactionCreate', async (interaction) => {
    if (!interaction.isCommand()) return;

    if (interaction.commandName === 'join') {
        await interaction.reply('join');
    }

});

推荐答案

交互是用户使用应用程序命令或消息组件时您的应用程序收到的消息Discord Interactions

MessageCreate侦听器将为几乎所有其他内容触发。

在您的案例中,您正在尝试执行哪些操作来触发交互?可能内置了斜杠命令?

应用程序命令是应用程序可以注册为不一致的命令,我认为内置的斜杠命令与此描述不匹配。因此,要查看交互触发,您要么必须自己注册一个应用程序命令(ApplicationCommandBuilder),要么创建一个带有按钮(DiscordButtons)的嵌入消息,然后单击应该触发交互的按钮

这篇关于不一致JS-交互创建和消息创建的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆