【发布时间】:2018-04-18 22:44:09
【问题描述】:
所以对于我的不和谐机器人,我想添加一个 nick 命令。为此,我查看了this 线程并将其改编为我的代码。
client.on("message", async message => {
const args = message.content.slice(config.prefix.length).trim().split(/ +/g);
const command = args.shift().toLowerCase();
if (command == "nick") {
var userID = args[0].replace('<@', '').replace('>', '').replace('!', '');
message.channel.send(userID);
message.guild.members.get(args[0]).id.setNickname("test", "nick command executed");
message.channel.send(`Successfully changed ${args[0]}'s nickname to "${message.channel.server.detailsOf(args[0]).nick}"`);
}
});
client.login("token");
由于某种原因,这会将TypeError: Cannot read property 'id' of undefined 输出到控制台,但成功地将UserID 发送到通道。
为什么会这样,我该如何“修复”它以便它实际上改变用户昵称?
【问题讨论】:
-
试试:
console.log( message.guild.members.get(args[0]) ) -
@JonasW.That,出于某种原因,输出 0,即使我有 2 个参数:一个提到的用户和新昵称。
标签: javascript node.js discord.js