所以我试图发出一个拥抱命令。我希望它像“ / hugs @user”一样使用,并且机器人回复“ @author向@user发送了一个拥抱!”。当我使用下面的代码时,我只是将其设置为尝试与所提到的用户进行回复,但是它不起作用。我也尝试将其设置为变量,并将“ message.mentions.users.first()”也放入变量中。经过我的查询后,它似乎对其他人有用,但由于某种原因,没有任何东西对我有用。机器人在提及用户后完全不回复。也不会弹出错误。
if (words == `${prefix}hugs`) {
message.channel.send(`<@${message.mentions.users.first().id}>`);
}
答案 0 :(得分:0)
if (words == `${prefix}hugs`) {
message.channel.send(`${message.author} sent a hug to ${message.mentions.members.first()}`);
}
您不必获取ID,只需使用该成员即可。它将返回消息中提到的第一个成员。
答案 1 :(得分:0)
因此,代码在作为命令文件使用时有效,但由于某些原因,仅允许一个人使用该命令。我已经删除了文件并重写了文件,更改了名称以及所有内容。这就是为什么我最终将其放在main函数中的原因,因为它出于某种原因仅允许一个用户使用该命令。似乎第一个使用它的人是唯一被允许使用它的人。有没有一种方法可以擦除该内存或某些东西,因为它可能来自先前混乱的代码?
这是我当前的新代码
module.exports = {
name: 'hug',
description: 'Used to hug everyone or mention a user to hug them specifically.',
execute(message,args) {
args = message.mentions.users.size;
if (!args) {
message.delete();
return message.channel.send(`${message.author} gives a big ol' hug to everyone!`);
}
else {
message.delete();
return message.channel.send(`${message.author} sends love to ${message.mentions.users.first()} with a hug!`);
}
},
};