繁体   English   中英

Discord.js 支持频道

[英]Discord.js support channel

我想创建一个 if 变量来检查用户是否加入某个频道,如果他们加入,那么我将继续执行我的程序。

到目前为止我尝试过的是不同的事情,例如:

client.on('channel', async channel => {
    if (channel.member.join(channel => channel.id === `672920107457970177`)) {
        working.send("did it work??")
    }
})

但我很确定我的整个脚本是错误的; 我几周前才开始使用 discord.js。

您可以使用客户端的voiceStateUpdate事件。 它将返回 2 GuildMember 值。 旧的和更新的。

Client.on("voiceStateUpdate", (oldMember, newMember) => {
    if (!oldMember.voiceChannel && newMember.voiceChannel) {
        console.log("oldMember channel doesn't exist. newMember channel exist. User joined a voice channel.")
    } else if (!newMember.voiceChannel) {
        console.log("newMember voice channel doesn't exist. User left a voice channel.")
    }
})

您需要进行这些检查,因为voiceStatusUpdate会在语音状态更新(例如 defean、静音、频道移动等)时触发。

要检查用户是否加入了某个频道,只需检查 ID:

Client.on("voiceStateUpdate", (oldMember, newMember) => {
    if (!oldMember.voiceChannel && newMember.voiceChannel && newMember.voiceChannelID == "CHANNEL ID") {
        console.log(`User joined ${newMember.voiceChannel.name}!`)
    }
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM