【发布时间】:2020-09-25 07:29:52
【问题描述】:
因此,由于不和谐,我创建了一个 AFK 语音通道并将服务器设置为如果成员 AFK 15 分钟,它会将其发送到 AFK 语音通道。但我想让我的机器人立即将它们与频道断开连接。
我想到了两种方法,使用间隔每秒检查语音通道,或者如果 VoiceStateUpdate 是被移动到语音通道的成员,则添加一个侦听器。我正在尝试限制主文件中的侦听器数量,因此在client.once('ready', () => { }) 中,我使用了一个间隔来每秒检查一次语音通道。
setInterval(function () {
const VoiceChannel = "718634068543012924"
if(VoiceChannel.members.length > 0) {
const now = new Date()
const time = (`${now.getDay()}, ${now.getDate()}/${now.getMonth()}/${now.getFullYear()} ${now.getHours()}:${now.getMinutes()}:${now.getSeconds()}`)
member.voice.kick("AFK");
console.log(`AFK Member kicked.`)
}
else {
console.log("No one there bud.")
}
}, 1000)
问题在于 members.length ,它带有错误
TypeError: Cannot read property 'length' of undefined
at listOnTimeout (internal/timers.js:549:17)
at processTimers (internal/timers.js:492:7)
我已经尝试过 .size 并且仍然无法正常工作,我真的不知道还能尝试什么或我做错了什么,我已经检查了 discord.js.org 文档,但我仍然感到困惑。因此,如果有任何方法可以在不添加其他侦听器的情况下做到这一点,您可以帮助我,我们将不胜感激。如果没有,我只会把它吸起来并添加一个。谢谢。
爱马仕
【问题讨论】:
标签: javascript discord discord.js