Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Discord.js say命令 我正在开发一个有发言权的discord机器人。但我的结果与我的预期不同。_Javascript_Discord.js - Fatal编程技术网

Javascript Discord.js say命令 我正在开发一个有发言权的discord机器人。但我的结果与我的预期不同。

Javascript Discord.js say命令 我正在开发一个有发言权的discord机器人。但我的结果与我的预期不同。,javascript,discord.js,Javascript,Discord.js,这是我的密码: Discord = require('discord.js'); client = new Discord.Client(); prefix = '$'; fs = require('fs'); .commands = new Discord.Collection(); commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js')); for (const file of c

这是我的密码:

Discord = require('discord.js');
client = new Discord.Client();
prefix = '$';
fs = require('fs');
.commands = new Discord.Collection();
commandFiles = fs.readdirSync('./commands/').filter(file => file.endsWith('.js'));
for (const file of commandFiles) {
    const command = require(`./commands/${file}`);
    client.commands.set(command.name, command);
}

client.once('ready', () => {
    console.log('Bot is online!');
});

client.on('message', message => {
    if(!message.content.startsWith(prefix) || message.author.bot) return;
    const args = message.content.slice(prefix.length).split(/ +/);
    const command = args.shift().toLowerCase();

    if(command === 'say') {
        client.commands.get('say').execute(message, args, Discord);
    }
});
say.js文件:

module.exports = {
    name: 'say',
    description: 'The bot says thing.',
    execute(message, args, Discord) {
        message.channel.send(args);
    }
}

我的期望: 用户:$say堆栈溢出很酷 Bot:堆栈溢出很酷

输出:

用户:$say堆栈溢出很酷

机器人

堆叠

溢出


这里的问题是“args”参数是字符串数组。当您使用send函数发送它时,数组的每个元素都将被发送,并且在它们之间有一条新行


如果查看文档,您会发现send()需要一个数组,数组是一个有效的字符串可解析值,但它有一个特殊的行为

在发送之前,请尝试在您的论点上使用。下面是一个例子:

message.channel.send(args.join(“”));

“如果您查看文档,您可以看到send()需要一个可解析的字符串”当从在线来源引用时,请添加一个链接,并在可能的情况下添加实际文本的引用(目前只有一个指向第三方网站屏幕截图的链接)。谢谢,它可以工作@kelvin my bad,源代码是discord.js文档: