[英]How to add a role to a user in a specific guild
所以我有这个当前的代码:
const mutualGuilds = bot.guilds.cache.filter((guild) => {
return guild.members.cache.has(message.author.id);
});
if (mutualGuilds.roles.cache.has("guildid")) {
if (mutualGuilds.users.cache.has(user.id)) {
let userInGuild = mutualGuilds.users.cache.find(user.id).roles.add("roleid");
}
}
当我尝试它输出的命令时: Cannot read property 'cache' of undefined
如果有人可以提供帮助,那就太棒了,因为我的机器人今天发布了。
如果您使用.filter
方法获取mutualGuilds
,它将返回一个集合。 您只能在单个公会上访问.roles
属性,因此您需要获取 .first .first()
例如,如下所示:
const mutualGuilds = bot.guilds.cache.filter((guild) => {
return guild.members.cache.has(message.author.id);
});
if (mutualGuilds.first().roles.cache.has("guildid")) {
// ...
或者您可以使用.each()
方法为每个互助行会执行一次提供的 function:
const mutualGuilds = bot.guilds.cache.filter((guild) => {
return guild.members.cache.has(message.author.id);
});
mutualGuilds.each((guild) => {
if (guild.roles.cache.has("guildid")) {
// ...
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.