ren*_*ens 2 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 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);
}
});
Run Code Online (Sandbox Code Playgroud)
说.js文件:
module.exports = {
name: 'say',
description: 'The bot says thing.',
execute(message, args, Discord) {
message.channel.send(args);
}
}
Run Code Online (Sandbox Code Playgroud)
用户: $say 堆栈溢出很酷 Bot:堆栈溢出很酷
输出:
用户:$say 堆栈溢出很酷
机器人:
堆
溢出
是
凉爽的
小智 5
这里的问题是你的“args”参数是一个字符串数组。当您使用 send 函数发送它时,数组的每个元素将在它们之间以新行发送。
如果您查看文档,您可以看到 send() 需要一个String Resolvable,并且一个数组是一个有效的 String Resolvable 值,但它具有特殊的行为。
在发送之前尝试在参数上使用join 方法。下面是一个例子:
message.channel.send(args.join(' '));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
307 次 |
| 最近记录: |