discord.js - 如何在新成员加入时添加角色?
问题描述
我想自动为每个加入公会的用户分配一个角色。我正在使用下面的代码:它不起作用,但它没有记录错误。
我已经检查过我的机器人是否有权管理角色。
bot.on('guildMemberAdd', member => {
var role = member.guild.roles.find('Member', 'user');
member.addRole(role);
});
解决方案
它不起作用,因为您roles.find()
以错误的方式使用:如果您希望角色.name
成为'Members'
,您应该编写:
var role = member.guild.roles.find('name', 'Member');
member.addRole(role);
这应该可行,但这是一种已弃用的方式:这意味着 discord.js 的开发人员将在未来将其删除。为避免以后必须更改它,您已经可以开始使用非弃用方式:您应该传递一个函数,该函数返回一个角色是否符合您的条件。这更好,因为您可以组合多个属性和检查。
var role = member.guild.find((role) => { // long way
if (role.name == 'Member') return true;
});
var role = member.guild.find(role => role.name == 'Member'); // shorter way
推荐阅读
- neo4j - 从 JSON 数据创建重复关系
- node.js - 使用 node.js 通过 bash 管道 shell 脚本
- python - 无法导入 certificate_transparency
- adobe-brackets - 无法对括号进行实时预览
- java - 如何从gmail获取内容类型为“multipart”的消息号?
- amazon-web-services - 使用什么 AWS Fargate 或 AWS Beanstalk
- python - set_password() 未设置 DRF 密码
- sql-server - 透视 SQL Server 表并同时合并两列
- php - 分页 Laravel Json 格式
- excel - 获取 acLink 的 acSpreadSheetType