我正在使用presenceUpdate
然而,它触发了两次,我被告知它正在发出我与机器人拥有的共享服务器的数量。目前我的代码输出online
两次。我不确定如何让它只输出一次。
if (newPresence.userID === botid) {
if (newPresence.status === 'online') {
console.log(newPresence.status); // Should output 'online' currently outputs 'online online'
根据Discord.js 的文档 https://discord.js.org/#/docs/main/stable/class/Client?scrollTo=e-presenceUpdate presenceUpdate
is Emitted whenever a guild member's presence (e.g. status, activity) is changed.
因此,这与您与机器人共享的服务器数量无关。
您可以尝试使用以下命令检查客户端的 pingPresence#status https://discord.js.org/#/docs/main/stable/class/Presence?scrollTo=status每 5 分钟,您可以编写一个如下函数:
function checkStatus() {
if (client.users.fetch(botID).presence.status === "online" ) {
return true;
} else {
return false;
}
}
然后你可以运行这个:
client.setInterval(() => checkPing(), 300000);
300000
是 5 分钟(以毫秒为单位),因此每 5 分钟就会运行该函数。
您可以阅读更多有关client.setInterval() https://discord.js.org/#/docs/main/stable/class/Client?scrollTo=setInterval
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)