我遇到的问题是,成员计数的机器人只更新一次,之后什么都不做。有人知道如何解决吗?
这是我当前的代码:
bot.on("ready", () => {
const guild = bot.guilds.cache.get('779790603131158559');
setInterval(() => {
const memberCount = guild.memberCount;
const channel = guild.channels.cache.get('802083835092795442')
channel.setName(`DC︱Member: ${memberCount.toLocaleString()}`)
}, 5000);
});
答案 0 :(得分:1)
如果我理解正确,您想将 VC 重命名为成员数。 Discord API 只允许您每 10 分钟重命名频道 2 次。您正在尝试每 5 秒运行一次该代码。
尝试将超时延迟设置为 600000
而不是 5000
。
答案 1 :(得分:0)
您可以尝试使用 voiceStateUpdate
,每次用户离开、进入、使麦克风静音或取消麦克风静音时都会触发它。这是它的链接:voiceStatusUpdate
如果您想获取频道的 ID,也可以使用 voiceChannelID
。这是一个链接:voiceChannelID
以下是您可以使用的代码的基本概念:
bot.on('voiceStateUpdate', (oldMember, newMember) => {
let newUserChannel = newMember.voiceChannel
let oldUserChannel = oldMember.voiceChannel
if(oldUserChannel === undefined && newUserChannel !== undefined) {
// User Joins a voice channel
} else if(newUserChannel === undefined){
// User leaves a voice channel
}
})