if (message.content.startsWith(prefix + "nickname ")) {
var nick = message.content.replace(prefix + "nickname ", "");
message.member.setNickname("nick");
message.channel.send('You have *changed* your **nickname** to "' + nick + '" **!**');
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试发出命令以通过文本更改作者的昵称。不幸的是,即使我的机器人具有“管理昵称”权限,“管理员”权限,甚至在服务器设置中角色列表的顶部,它也会引发“权限太低...”错误。有人有想法么?
编辑:根据回答,尽管服务器的bot角色最高,但不允许其修改服务器上级的昵称。我在备用帐户上运行了代码,并且运行得很完美。我只是没有给自己昵称的特权(这基本上可以通过不和谐实现的/ nick命令来完成)
小智 5
Discord.js通过从消息中获取GuildMember并使用GuildMember#setNickname方法来实现更改昵称。这是设置运行消息的用户昵称的简单示例:
if (message.content.includes('changeName')) {
if (!message.guild.me.hasPermission('MANAGE_NICKNAMES')) return message.channel.send('I don/'t have permission to change your nickname!');
message.member.setNickname(message.content.replace('changeName ', ''));
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
233 次 |
| 最近记录: |