问题描述
我希望我的机器人通过使用<afk [radio]"在 2 个 afk 频道中的 1 个中移动用户.命令.但我首先想检查用户是否已经在 AFK 频道中.我试过了:
I want my bot to move a user in 1 of 2 afk channels by using a "<afk [radio]" command. But i first want to check if the user is allready in an AFK Channel. I tried:
const voiceChannel = message.member.voice.channel;
const voiceChannelID = message.member.voice.channelID;
if (!voiceChannel) {
return message.channel.send('You are not in an voice Channel so why move to AFK?');
} else if (voiceChannelID === '789186504483536937', '791444742042943548') {
return message.channel.send('You are already in an AFK channel!');
} else if (!args.length) {
return member.voice.setChannel('789186504483536937');
}
但是当我尝试使用<afk"时命令机器人发送消息:
But when i try t use the "<afk" command the bot send the message:
您已经在 AFK 频道中!
You are already in an AFK channel!
任何想法为什么这样做?
Any ideas why it does this?
推荐答案
问题是
if (voiceChannelID === '789186504483536937', '791444742042943548')
这不是多个条件的工作方式.用 or 操作符分隔.
This is not how multiple conditionals work. Seperate it with the or operator.
if (voiceChannelID === '789186504483536937' || voiceChannelID === '791444742042943548')
您可以将您尝试做的事情想象为传入两个不同的条件 f(x, y).Javascript 中的 if 语句将只检查最后一个 (y) 和791444742042943548".是真实的,因为它是非空的.
You can think of what you were trying to do as passing in two different conditions, f(x, y). If statements in Javascript will only check for the last one (y), and "791444742042943548" is truthy since it is non-null.
这篇关于Discord js/检查用户是否在特定的语音频道中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!



大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)