当前位置: 首页 > 知识库问答 >
问题:

Discord机器人无法在Discord中断开与语音通道的连接。js公司

东方宜
2023-03-14

代码

const guild = message.guild;
let voiceId = message.content.split(" ").slice(1).join("");
let voiceChannelId = client.channels.cache.get(voiceId);
if(message.content.startsWith("$join")){
    let msgLength = message.content.length;
    if(msgLength > 5){
        voiceChannelId.join().then(connection=>{message.channel.send("Successfully Connected!")
        }).catch(err=>{console.error(err)});
    } else if(msgLength <= 5)return message.channel.send("Invalid channel ID. Pls try again!")};
let voiceChannel = message.member.voiceChannel;
if(message.content === "$leave"){
    // console.log(voiceChannel);
    if(voiceChannel){
        voiceChannel.leave();
    } else return message.channel.send("I'm not connected to any voice channel.");

当我使用离开命令时,机器人仍然停留在语音通道中。请帮帮我T-T

共有1个答案

公西承
2023-03-14

您错过了最后一个。因此,您没有关闭离开命令的if语句。这只是一个小小的语法错误。

const guild = message.guild;
let voiceId = message.content.split(" ").slice(1).join("");
let voiceChannelId = client.channels.cache.get(voiceId);
if (message.content.startsWith("$join")) {
  let msgLength = message.content.length;
  if (msgLength > 5) {
    voiceChannelId.join().then(connection => {
      message.channel.send("Successfully Connected!")
    }).catch(err => { console.error(err) });
  } else if (msgLength <= 5) return message.channel.send("Invalid channel ID. Pls try again!");
}
let voiceChannel = message.member.voiceChannel;
if (message.content === "$leave") {
  // console.log(voiceChannel);
  if (voiceChannel) {
    voiceChannel.leave();
  } else return message.channel.send("I'm not connected to any voice channel.");
}
 类似资料:
  • 我为机器人制作了加入语音频道的代码, 当任何用户键入“离开”时,我希望机器人离开它所在的服务器。我该怎么做?

  • 我想添加一个事件,如果用户在歌曲仍在播放时离开,我的音乐机器人会立即离开语音频道。如果频道中有多个用户,机器人当然应该留在频道中。我只有一种方法,但需要帮助。我会尝试以下操作: 但不知怎么的,这似乎不起作用。我知道事实上,有一个类似的职位,但这并不适用于我太多,因为我定义了一些不同的事情。 我的第二次尝试是: (也不起作用。) 定义:我现在以不同的方式构建函数: 这是一个完全不同的计数。我试图做的

  • 我用Java(Discord JDA)制作了一个Discord音乐机器人,我一直试图让机器人在一段时间后(例如1分钟)离开一个语音通道,但我真的很挣扎。有什么帮助吗?

  • 我正在尝试制作一个机器人,它可以加入呼叫,在麦克风激活时听到音频,并使用语音识别模块以字符串形式输出消息。然而,我在机器人加入呼叫时遇到了困难,我还没有找到从不和谐中获取音频输入的方法。 登录 名称: BOOS MUSIC ID:284760930837987338 0.16.8 忽略on_readyTraceback(最近一次调用)中的异常:文件"C:\用户\LMEBA21\AppData\本地

  • 问题出在下面的代码上: 此函数的作用是移动一个或多个已引用到specefic voice chanel的成员。 示例:“~send_to_channel@person” 调用该函数时,由于某种原因,“discord.Client().get_channel(*channel ID*)”不会返回语音频道或任何该频道的频道。我已经阅读了stack overflow中的文档和其他一些答案,但我不知道是什

  • 我查看了所有关于将discord机器人连接到语音频道以播放声音的问题,但找不到我需要的答案。我是discord library的新手,没有解决问题的工作原理,所以当我在网站上尝试给出答案时,我经常会遇到如下错误: 我的代码如下: 这只是代码的语音部分,其他发送或事件部分正在工作。