Javascript 为消息作者指定角色-Discord.js
我开始制作一个命令,消息作者在输入命令后应该在其中获得角色。但我总是得到“无法读取未定义的'add'属性”的错误 代码:Javascript 为消息作者指定角色-Discord.js,javascript,node.js,discord,discord.js,bots,Javascript,Node.js,Discord,Discord.js,Bots,我开始制作一个命令,消息作者在输入命令后应该在其中获得角色。但我总是得到“无法读取未定义的'add'属性”的错误 代码: 要使用.add(),您需要的是GuildMember,而不是用户 要添加角色,应传递角色而不是角色创建者 case“ticket”: 如果(!message.channel.id==“757221433335218216”)返回; 如果(message.channel.id==“757221433335218216”){ var randomRole=Math.random(
.add()
,您需要的是GuildMember,而不是用户case“ticket”:
如果(!message.channel.id==“757221433335218216”)返回;
如果(message.channel.id==“757221433335218216”){
var randomRole=Math.random()
const person=message.member//{
person.roles.add(role)//是GuildMember
的文档。您可以看到列出的roles
属性。
case 'ticket':
if(!message.channel.id === "757221433335218216") return;
if (message.channel.id === "757221433335218216"){
var randomRole = Math.random()
const person = message.author
var roleCreator = message.guild.roles.create({
data: {
name: randomRole.toLocaleString(),
color: "#ff0000",
permissions: 0
}
}).then(role => {
person.roles.add(roleCreator)
});
break;
case 'ticket':
if(!message.channel.id === "757221433335218216") return;
if (message.channel.id === "757221433335218216"){
var randomRole = Math.random()
const person = message.member //<< Here, get the author as an GuildMember instead of getting author as an User
var roleCreator = message.guild.roles.create({
data: {
name: randomRole.toLocaleString(),
color: "#ff0000",
permissions: 0
}
}).then(role => {
person.roles.add(role) // <<Here, passing role instead of roleceator
});
break;