Discord.js如何使用用户ID获取用户昵称
Posted
技术标签:
【中文标题】Discord.js如何使用用户ID获取用户昵称【英文标题】:Discord.js how can i get user nickname using the user's id 【发布时间】:2018-08-21 16:36:51 【问题描述】:我正在使用 client.on('voiceStateUpdate...) 来检查用户何时离开或加入语音频道,并将用户的消息作为 '@' 发送给他们.
ping 让他们感到不安,我正在尝试找到一种方法,在没有 @ 的情况下发送昵称消息(msg.replace('@','') 不起作用)。
如果我已经有了用户的ID,如何获取用户的昵称?
我的代码现在看起来像这样:
client.on('voiceStateUpdate', (oldMember, newMember) =>
let newUserChannel = newMember.voiceChannel;
let oldUserChannel = oldMember.voiceChannel;
var channel = client.channels.get('385344314362036224');
if(oldUserChannel === undefined && newUserChannel !== undefined)
channel.sendMessage(newMember + ' has joined a voice channel');
else if(newUserChannel === undefined)
channel.sendMessage(oldMember + ' has left a voice channel');
);
【问题讨论】:
【参考方案1】:oldMember 和 newMember 属于“GuildMember”类型。你可以在这里找到使用 GuildMember 可以做的所有事情:https://discord.js.org/#/docs/main/stable/class/GuildMember
所以你使用昵称的代码应该是这样的:
client.on('voiceStateUpdate', (oldMember, newMember) =>
let newUserChannel = newMember.voiceChannel;
let oldUserChannel = oldMember.voiceChannel;
var channel = client.channels.get('385344314362036224');
if(oldUserChannel === undefined && newUserChannel !== undefined)
channel.sendMessage(newMember.displayName + ' has joined a voice channel');
else if(newUserChannel === undefined)
channel.sendMessage(oldMember.displayName + ' has left a voice channel');
);
【讨论】:
newMember.nickname 如果没有昵称,将返回 null 感谢您的提示。我将它更改为 displayName 如果没有找到昵称,它将默认为用户名。 不知道 displayName。我已经删除了我的答案以上是关于Discord.js如何使用用户ID获取用户昵称的主要内容,如果未能解决你的问题,请参考以下文章
Discord.js 将数组中的 ID 替换为与该 ID 匹配的用户的昵称?
discord.js 如何从用户 ID 获取 Discord 用户名