Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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
Discord.js 在guild.roles中获取未定义的_Discord.js_Roles - Fatal编程技术网

Discord.js 在guild.roles中获取未定义的

Discord.js 在guild.roles中获取未定义的,discord.js,roles,Discord.js,Roles,您好,我正在尝试编写一个discordbot,将帮会a中成员的角色a同步到guildB 这些角色由ID定义 我遇到的问题是var users1=guild1.roles.fetch(args[2]).members//guild1角色抛出 (node:54852) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'fetch' of undefined at SyncRole.run (D:\git\purgeb

您好,我正在尝试编写一个discordbot,将帮会a中成员的角色a同步到guildB 这些角色由ID定义 我遇到的问题是
var users1=guild1.roles.fetch(args[2]).members//guild1角色
抛出

(node:54852) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'fetch' of undefined
at SyncRole.run (D:\git\purgebot\Commands\General\syncrole.js:49:37)
at Message.run (D:\git\purgebot\Events\message.js:49:13)
at Luna.<anonymous> (D:\git\purgebot\Luna.js:92:83)
at Luna.emit (events.js:314:20)
at MessageCreateAction.handle (D:\git\purgebot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (D:\git\purgebot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (D:\git\purgebot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
at WebSocketShard.onPacket (D:\git\purgebot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
at WebSocketShard.onMessage (D:\git\purgebot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
at WebSocket.onMessage (D:\git\purgebot\node_modules\ws\lib\event-target.js:132:16)
返回一个
承诺
,必须先解析该承诺,然后才能使用
帮会
对象。我也是

//使用'Promise.prototype.then()`
client.guilds.fetch(args[0])。然后((guildId=1)=>{
client.guilds.fetch(args[1])。然后((guildid2)=>{
让users1,users2;
guild1.roles.fetch(args[2]),然后((role)=>(users1=role.members));
guild2.roles.fetch(args[3]),然后((role)=>(users2=role.members));
//代码。。。
});
});
//使用'async/await'`
//**确保您的函数为“异步”`**
const guild1=等待client.guilds.fetch(args[0]);
const guild2=等待client.guilds.fetch(args[1]);
constusers1=(wait guild1.roles.fetch(args[2])).members;
constusers2=(wait guild2.roles.fetch(args[3])).members;
const client = this.client;

if(message.member.guild.me.hasPermission('ADMINISTRATOR')) {

    var guild1 = client.guilds.fetch(args[0]); //guildid1
    var guild2 = client.guilds.fetch(args[1]); //guildid1

    var users1 = guild1.roles.fetch(args[2]).members; //guild1role
    var users2 = guild2.roles.fetch(args[3]).members; //guild2role

    users2.members.forEach(user => {
        user.remove(args[3]).catch(console.error);
        message.channel.send("removed role " + args[3] + " for " + user.id);
    })

    users1.members.forEach(user =>{
        guild2.members.forEach(user2 => {
            if(user.id == user2.id) {
                user2.addRole(args[3]);
                message.channel.send("added role " + args[3] + " for " + user.id);
            }
        })
    })

    message.channel.send("roles synced");
} else {
    message.channel.send("https://i.imgur.com/6cpffM4.jpg");
}