discord.js v12检查用户是否正在流式传输

时间:2020-07-14 01:52:11

标签: javascript discord discord.js

我正在使用discord.js v12,我想在用户流式传输时说一个PresenceUpdate方法。我在这里找到了,但显然不起作用。对此有任何更新的版本吗?

    client.on('presenceUpdate', (oldMember, newMember) => {
    const channel = oldMember.guild.channels.find(x => x.name === "channel name");
    if (!channel) return;
        let oldStreamingStatus = oldMember.presence.game ? oldMember.presence.game.streaming : false;
        let newStreamingStatus = newMember.presence.game ? newMember.presence.game.streaming : false;

  if(oldStreamingStatus == newStreamingStatus){
    return;
  }

  if(newStreamingStatus){
    if (newMember.presence.game && newMember.presence.game.name === 'game name' || newMember.presence.game.details.match(/keywords in stream/gi)) {
        channel.send(`${newMember.user}, is live URL: ${newMember.presence.game.url}`);
    return; 
    }
  }
});

1 个答案:

答案 0 :(得分:3)

client.on("presenceUpdate", (oldPresence, newPresence) => {
    if (!newPresence.activities) return false;
    newPresence.activities.forEach(activity => {
        if (activity.type == "STREAMING") {
            console.log(`${newPresence.user.tag} is streaming at ${activity.url}.`);
        };
    });
});

https://discord.js.org/#/docs/main/stable/class/Presence

https://discord.js.org/#/docs/main/stable/class/Activity

https://discord.js.org/#/docs/main/stable/typedef/ActivityType