Discord js / Check if user is in an specific voice Channel(Discord js/检查用户是否在特定的语音频道中)
问题描述
我希望我的机器人通过使用<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/检查用户是否在特定的语音频道中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Discord js/检查用户是否在特定的语音频道中
基础教程推荐
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- 自定义 XMLHttpRequest.prototype.open 2022-01-01
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01
- 直接将值设置为滑块 2022-01-01
- Chart.js 在线性图表上拖动点 2022-01-01
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01