【问题标题】:discord.js say command repeating message in multiple linesdiscord.js 在多行中说命令重复消息
【发布时间】:2020-11-15 03:01:06
【问题描述】:

所以我正在开发我的机器人,对于我的;say 命令,我有以下代码。问题是,当用户执行“;say hi”之类的操作时,它会重复为 ;say 在一行上,下一行,然后在那一行上说 hi。在我添加命令处理程序之前,该命令运行良好,但现在我遇到了问题。

代码(包括 vars + command handler 部分)-

const Prefix = require('./../../config.json');

module.exports = {
    name: "say",
    description: "Says the user input",
    execute (Client, message, Args) {
        let Say = message.content.substring(({Prefix} + 'say').Args).split(" ");
        let Output = Say.splice(1);
        message.channel.send(Output);
        message.delete({ timeout: 1 });
    },
};

如果出于某种原因需要,我的 config.json 文件(可能是前缀问题)位于以下文件位置的“容器”目录中 -

container/commands/fun/say.js

【问题讨论】:

    标签: discord discord.js


    【解决方案1】:

    一开始你为什么不用message.content.substring(`${Prefix}say`);而不是这两行

        let Say = message.content.substring(({Prefix} + 'say').Args).split(" ");
        let Output = Say.splice(1);
    

    那是一样的,不是吗? 我还认为,如果您遇到这样的问题,可能是因为您的代码的事件处理部分缺少某些内容。

    您还需要从 config.json 文件中选择前缀,方法是在 require('./../../config.json'); 之后添加 .prefix 或 .json 文件中的变量名称,而不是获取整个对象。

    【讨论】:

    • 我不太清楚你在最后一部分是什么意思,但我只需要将它切换到 message.content.split('; say ').join('") 就可以明显地工作。谢谢你的帮助,我试过你说的,确实让问题好转了一点!
    猜你喜欢
    • 2018-08-26
    • 2021-08-22
    • 1970-01-01
    • 2021-03-08
    • 1970-01-01
    • 2021-12-20
    • 2020-05-12
    • 2021-07-25
    • 1970-01-01
    相关资源
    最近更新 更多