Spotify присутствииОбновить Discord Bot Issue - PullRequest
0 голосов
/ 05 октября 2018

У меня возникли небольшие трудности с моим скриптомsenceUpdate для моего бота-разногласия.

Мой код работает, как и должно начинаться, давая пользователю приложения роль и публикуя то, что он играет, но когдапользователь выходит из приложения, последняя часть кода никогда не запускается и удаляет роль:

client.on('presenceUpdate', (oldMember, newMember) => {
if (oldMember.user.bot || newMember.user.bot) return;
let guild = newMember.guild;
let playRole = guild.roles.find("name", "Playing Spotify");
if(!playRole) return;
if (newMember.presence.game != null && newMember.guild.id === config.guild) {

    if (newMember.presence.game.name === ('Spotify')) {

        const logChannel = client.channels.find(channel => channel.name === config.spotify)
        //count++;
        newMember.addRole(playRole).catch(console.error);
        client.channels.find(x => x.id === "493837894499434536").setTopic("[AUTOMATED SYSTEM] \nCurrent Users Listening: " + playRole.members.size);


        console.log("[DEBUG]:Channel Topic Updated to: [Count Up] Current Users Listening: " + playRole.members.size)
        console.log("[DEBUG - Secondary-Check]: Channel Topic Updated to: [Count Up] Current Users Listening: " + playRole.members.size)


        var trackImg = newMember.presence.game.assets.largeImageURL;
        var trackUrl = `https://open.spotify.com/track/${newMember.presence.game.syncID}`;
        var trackName = newMember.presence.game.details;
        var trackAlbum = newMember.presence.game.assets.largeText;
        var trackAuthor = newMember.presence.game.state;


        let embed = new Discord.RichEmbed()
            .setTitle(`${newMember.displayName}#${newMember.user.discriminator} Listening to Spotify`)
            .setColor('FF0000')
            .setThumbnail(trackImg)
            .addField("Song Name", `${trackName}`, true)
            .addField("Album", `${trackAlbum}`, true)
            .addField("Author", `${trackAuthor}`, true)
            .addField('Listen to this track here:', `[Open Spotify](${trackUrl})`, true)

            .setFooter(`Listening to Spotify`)

        logChannel.send(embed)
    } else {
        if(!newMember.user.presence.game && newMember.roles.has(playRole.id))

       console.log("[DEBUG]: Channel Topic Updated to: [Count Down] Current Users Listening: " + playRole.members.size)
       client.channels.find(x => x.id === "493837894499434536").setTopic("[AUTOMATED SYSTEM] \nCurrent Users Listening To Spotify: " + playRole.members.size);
       console.log("[DEBUG - Secondary-Check]: Channel Topic Updated to: [Count Down] Current Users Listening: " + playRole.members.size)

    }
}
});

Я потратил много времени на разработку этого кода, но я просто застрял в одной проблеме, и у меня естьперепробовал все возможности, чтобы заставить его работать, я отлаживал и отлаживал,

Любая помощь приветствуется.

...