【问题标题】:How to check if the bot is in a voice channel?如何检查机器人是否在语音频道中?
【发布时间】:2021-12-13 07:26:46
【问题描述】:

当机器人在语音频道中并且我执行离开命令时,机器人将离开并回复leave.result。但是当我还在语音频道执行命令时,机器人会回复相同的答案,我希望机器人回复leave.errorNotChannel 这是代码

execute(message) {     
    const { channel } = message.member.voice;

    const serverQueue = message.client.queue.get(message.guild.id);
    if (!channel) return message.reply(i18n.__("leave.errorNotChannel")).catch(console.error);
    if (serverQueue && channel !== message.guild.me.voice.channel)
      return message
        .reply(i18n.__mf("leave.errorNotInSameChannel", { user: message.client.user }))
        .catch(console.error);
    
    channel.leave();
    message
    .channel
    .send(i18n.__("leave.result"))
    .catch(console.error);

     }

而且我不知道如何让机器人知道它是否在语音频道中。

【问题讨论】:

    标签: node.js discord.js


    【解决方案1】:

    您可以使用if 语句尝试这样的事情:

    if (message.guild.me.voice.channel) {
        message.channel.send('I am in a voice channel')
    } else {
        message.channel.send('I\'m not in a voice channel')
    }
    

    我在这里所做的找到机器人连接的语音通道(在公会中)语音通道定义为message.guild.me.voice.channel 现在如果该通道存在,您可以像我一样发送输出,或者如果它不是'不连接它只会发送一个错误

    您可以进一步自定义!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 2021-11-03
      • 2021-04-13
      • 1970-01-01
      • 2021-08-01
      • 2021-05-27
      • 2020-05-31
      相关资源
      最近更新 更多