我正在使用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;
}
}
});
答案 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