Javascript Discord.js检查bot是否在语音通道中
我有一个问题:我想检查机器人是否在msg.guild的频道上。我有一个命令Javascript Discord.js检查bot是否在语音通道中,javascript,discord.js,Javascript,Discord.js,我有一个问题:我想检查机器人是否在msg.guild的频道上。我有一个命令?checkchannel,用于回复机器人是否在所述公会的语音频道上。如果机器人在一个频道上,它应该回答:“在一个语音频道上”,如果他不是,他应该回答他不是 谢谢。这真的很简单,试试这个: //如果bot未连接到语音频道,“频道”对象应为“未定义” 如果(msg.guild.voice.cannel) { msg.channel.send(`I'm in a voice channel!`); } 其他的 { log(`I
?checkchannel
,用于回复机器人是否在所述公会的语音频道上。如果机器人在一个频道上,它应该回答:“在一个语音频道上”,如果他不是,他应该回答他不是
谢谢。这真的很简单,试试这个:
//如果bot未连接到语音频道,“频道”对象应为“未定义”
如果(msg.guild.voice.cannel)
{
msg.channel.send(`I'm in a voice channel!`);
}
其他的
{
log(`I'm not in a voice channel!`);
}
注:
这仅检查消息的频道
,如果bot连接到服务器上的任何语音频道
,则不检查该频道
如果您想检查,如果他连接到任何语音频道
,您应该检查
编辑:
您还可以减少到一行:
msg.guild.channels.cache.some(channel=>(channel.type==='voice'和&channel.members.has(Client.user.id))?msg.channel.send('在语音频道上'):msg.channel.send('不在语音频道上')
但你必须自己决定这是否更清楚
参考资料:
非常简单,请尝试以下方法:
//如果bot未连接到语音频道,“频道”对象应为“未定义”
如果(msg.guild.voice.cannel)
{
msg.channel.send(`I'm in a voice channel!`);
}
其他的
{
log(`I'm not in a voice channel!`);
}
注:
这仅检查消息的频道
,如果bot连接到服务器上的任何语音频道
,则不检查该频道
如果您想检查,如果他连接到任何语音频道
,您应该检查
编辑:
您还可以减少到一行:
msg.guild.channels.cache.some(channel=>(channel.type==='voice'和&channel.members.has(Client.user.id))?msg.channel.send('在语音频道上'):msg.channel.send('不在语音频道上')
但你必须自己决定这是否更清楚
参考资料:
如果我理解正确,并且您想检查bot是否位于与msg.guild
对应的帮会的任何语音频道中:
if(msg.guild.channels.cache.some(channel=>(channel.type=='voice'&&channel.members.has(Client.user.id)){
msg.channel.send('它在语音频道上');//在命令发送到的同一频道上回复
}
否则{
msg.channel.send('它不在语音频道上');
}
如果我理解正确,并且您想检查bot是否在与msg.guild
相对应的帮会语音频道中:
if(msg.guild.channels.cache.some(channel=>(channel.type=='voice'&&channel.members.has(Client.user.id)){
msg.channel.send('它在语音频道上');//在命令发送到的同一频道上回复
}
否则{
msg.channel.send('它不在语音频道上');
}
@nouvist这不是问题,我想检查机器人是否在语音频道,但我如何检查他是否在OneOh,我没有读你的问题。对不起。@nouvist这不是问题,我想检查机器人是否在语音频道,但我如何检查他是否在OneOh,我没有读你的问题。对不起,谢谢,但我需要知道所有频道都可以,但我需要查找所有频道谢谢你做得非常好!我想你甚至可以把它简化成这样一行:msg.guild.channels.cache.some(channel=>(channel.type=='voice'&&channel.members.has(Client.user.id))?msg.channel.send('在语音频道上):msg.channel.send(‘它不在语音频道上’)
但你必须自己决定这是否更清晰。是的,这更清晰。你也可以先用msg.guild.channels.cache.filter(channel=>channel.type==='voice')
将缓存的频道过滤到只包含VoiceChannel
的数组中,然后执行一些(…)
在它上面,可能会更快。@Viriato可能,但我怀疑1000个用户是否会同时运行此命令:D我认为这会节省几毫秒。是否值得,他必须自己决定:DThank you verry很好地工作!我想你甚至可以将它简化为这样一行:msg.guild.channels.cache.some(channel=>(channel.type=='voice'和&channel.members.has(Client.user.id))?msg.channel.send('在语音频道上'):msg.channel.send('不在语音频道上')
但是你必须自己决定这是否更清晰。是的,这更清晰。你也可以先用msg.guild.channels.cache.filter(channel=>channel.type==='voice')将缓存的频道过滤到一个只包含语音频道的数组中。
然后执行一些(…)
在它上面,可能会更快。@Viriato可能,但我怀疑1000个用户是否会同时运行此命令:D我认为这将节省几毫秒。是否值得,他必须自己决定:D