Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为消息作者指定角色-Discord.js_Javascript_Node.js_Discord_Discord.js_Bots - Fatal编程技术网

Javascript 为消息作者指定角色-Discord.js

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'属性”的错误

代码:

  • 要使用
    .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;