提问者:小点点

不和谐机器人根据成员用户名下发角色


我正在创建一个机器人用于不和谐审核,该机器人的组件之一是以下任务:

“当每个新用户来到服务器时,他的角色默认为@Not会员,但当他将他的服务器昵称更改为“昵称|(真实姓名)”时,例如CoolPerson(Alex),他的角色将自动更改为@会员”。

我能看到的一种方法是检查用户名是否包含括号,如果没有,那么他的角色是old@Not会员。

是否有其他方法可以检测服务器成员是否已将其名称更改为昵称?这实际上可能吗?

我正在用JavaScript制作这个机器人,但这里也欢迎Python。


共1个答案

匿名用户

您可以使用每当成员更改姓名时触发的坚守会员更新事件,通过此事件,您将可以访问公会成员及其旧/新用户名。请注意,您的机器人需要在开发者门户上启用服务器成员意图。

Discord. js中的示例:

client.on("guildMemberUpdate", function(oldMember, newMember) {
    // oldMember is the old guild member object before the change, you
    // can use it to fetch their old username.

    // Add a role to the newMember object.
    newMember.roles.add(YOUR_ROLE_HERE);
});