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 v12:无法读取属性';添加';未定义的_Javascript_Node.js_Discord_Discord.js - Fatal编程技术网

Javascript Discord js v12:无法读取属性';添加';未定义的

Javascript Discord js v12:无法读取属性';添加';未定义的,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,不知道为什么它不起作用,有人能帮我吗?我绝望了 bot.on("message", (message) => { var roles = message.author.roles let roleID = '1234567890'; if (message.author.bot) return; if(message.content.startsWith(prefix + 'ttt')) { roles.add(role

不知道为什么它不起作用,有人能帮我吗?我绝望了

bot.on("message", (message) => {
    var roles = message.author.roles
    let roleID = '1234567890';
    if (message.author.bot) return; 
    if(message.content.startsWith(prefix + 'ttt')) {
        roles.add(roleID);          
    }
});

The Error is the same like in the title.
        roles.add(roleID);
              ^

TypeError: Cannot read property 'add' of undefined  


没有
消息的属性
角色
。作者
。您可能需要查看具有该属性的
message.member

相关链接:


如果您想将角色添加到使用它的人,您应该获取消息成员并给出它

bot.on(“消息”,(消息)=>{
var roles=message.author.roles
让roleID='779756792737300490';
if(message.author.bot)返回;
if(message.content.startsWith(前缀+'ttt')){
message.member.roles.add(roleID);
}
});
我刚换了第六行

您也不能将角色授予用户。您只能将其交给会员

您还可以查看文档:

  • 成员:
  • 用户:
这将起作用:

bot.on("message", (message) => {
    var guildMember = message.member
    let roleID = '779756792737300490';
    let roleNAME = 'TestRole';
    let userID = message.author.tag + " " + (message.author.id);
    if (message.author.bot) return; 
    if(message.content.startsWith(prefix + 'ttt')) {
        guildMember.roles.add(roleID); 
        console.log(`Give "${roleNAME}" to User "${userID}" `)    
    }
    if(message.content.startsWith(prefix + "zzz")) {
        guildMember.roles.remove(roleID);
        console.log(`Removed "${roleNAME}" from User "${userID}"`)
    }
});

我还在其中放了一个console.log代码,这样您就可以看到是否有人删除了角色或提供了角色,如果您删除了这两行代码,它也会起作用;)

我明白了!谢谢你好,酋长国,请告诉我们您是如何解决问题的。您的解决方案可以帮助其他具有相同行为的人。