我查了很多关于Google的信息,但我无法更改邮件发件人的角色。
client.on('message', message => {
var tmp;
for(i=0; i<filter.length; i++){
tmp = message.content.indexOf(filter[i]);
if(tmp >= 0){
message.reply("warning !");
client.channels.get('395169643553095702').send(message.author.username + "warning !");
// change roles
return;
};
};
});
你能帮助我吗?
答案 0 :(得分:0)
为了改变用户的角色,必须先做两件事:
完成Discord.js docs我发现您首先必须create a role within the guild使用所需的role options,然后assign the role to a guild member。
编辑: OP进一步研究了这个问题并得到了一个更简单的解决方案:
只需找到您要添加的角色
即可 var role = message.guild.roles.find("name", "RoleName");
然后将其应用于从'message'派生的正确的'GuildMember'对象:
message.member.addRole(role);
这假设您正在寻找的角色已经存在,而且肯定的消息来自公会成员用户。
可能看起来像:
client.on('message', message => {
var tmp;
for(i=0; i<filter.length; i++) {
tmp = message.content.indexOf(filter[i]);
if(tmp >= 0) {
message.reply("warning !");
client.channels.get('395169643553095702').send(message.author.username + "warning !");
message.guild.fetchMember(message.author).then(guildMember => {
// Role should already exist at this point in a more stratigic place in code.
var desiredRole = message.guild.createRole(.......);
guildMember.addRole(desiredRole);
// .....
}, err => {
// User is not a member of the guild
});
return;
};
};
});