Discord.js client.addMemberToRole 不工作
Discord.js client.addMemberToRole not working
所以,我正在编写一个 Discord 机器人程序,我想让它做的一件事是在给定条件的情况下为成员分配角色。在查看文档后,特别是 here,我认为 bot.addMemberToRole 是一个很好用的命令。但是,当我 运行 它时,我收到了这个错误信息:
类型错误:bot.addMemberToRole 不是函数
我的困惑是可以理解的,因为文档清楚地表明这是一个函数。我尝试过 bot.addMemberToRole(member, role);、addMemberToRole(member, role); 和其他几次迭代。这是我最近的尝试:
const Discord = require('discord.js');
const bot = new Discord.Client();
bot.addMemberToRole(member, role, function(err){
if(err){
console.log(err);
}
});
我也这样做过:
bot.addMemberToRole(member, role);
两者都给出了与上面相同的 TypeError。
我不知道为什么它不起作用。我完全遵循了文档,我传递给它的成员和角色变量是正确的类型,其他 Discord.js 命令在我的机器人中工作得很好。任何帮助将不胜感激。
您使用的是旧版本的文档,因此该功能已不存在。他们真的应该摆脱那些。您正在寻找 GuildMember.addRole(Role or String)
.
要将成员添加到角色,您需要一个 GuildMember 和一个 Role 对象(或角色名称)。假设您有 User 对象和 Guild 对象(您的机器人有一个 guilds/servers 的列表,它已加入并且大多数事件都会有它们关联的公会),您可以使用 [=12= 获取 GuildMember ].从那里,您可以使用基于字符串或基于对象的 addRole 版本在 GuildMember 上添加角色。
下面是一个示例,说明如何在收到来自用户的消息后执行此操作,这非常简单,因为该消息具有与之关联的 GuildMember。
const Discord = require('discord.js');
const bot = new Discord.Client();
bot.on('message', (message) => {
const guildMember = message.member;
guildMember.addRole('bot-added-role');
});
所以,我正在编写一个 Discord 机器人程序,我想让它做的一件事是在给定条件的情况下为成员分配角色。在查看文档后,特别是 here,我认为 bot.addMemberToRole 是一个很好用的命令。但是,当我 运行 它时,我收到了这个错误信息:
类型错误:bot.addMemberToRole 不是函数
我的困惑是可以理解的,因为文档清楚地表明这是一个函数。我尝试过 bot.addMemberToRole(member, role);、addMemberToRole(member, role); 和其他几次迭代。这是我最近的尝试:
const Discord = require('discord.js');
const bot = new Discord.Client();
bot.addMemberToRole(member, role, function(err){
if(err){
console.log(err);
}
});
我也这样做过:
bot.addMemberToRole(member, role);
两者都给出了与上面相同的 TypeError。
我不知道为什么它不起作用。我完全遵循了文档,我传递给它的成员和角色变量是正确的类型,其他 Discord.js 命令在我的机器人中工作得很好。任何帮助将不胜感激。
您使用的是旧版本的文档,因此该功能已不存在。他们真的应该摆脱那些。您正在寻找 GuildMember.addRole(Role or String)
.
要将成员添加到角色,您需要一个 GuildMember 和一个 Role 对象(或角色名称)。假设您有 User 对象和 Guild 对象(您的机器人有一个 guilds/servers 的列表,它已加入并且大多数事件都会有它们关联的公会),您可以使用 [=12= 获取 GuildMember ].从那里,您可以使用基于字符串或基于对象的 addRole 版本在 GuildMember 上添加角色。
下面是一个示例,说明如何在收到来自用户的消息后执行此操作,这非常简单,因为该消息具有与之关联的 GuildMember。
const Discord = require('discord.js');
const bot = new Discord.Client();
bot.on('message', (message) => {
const guildMember = message.member;
guildMember.addRole('bot-added-role');
});