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

不一致文本通道中的js加入/离开语音通道通知

汪坚
2023-03-14

我正在尝试创建一个机器人,当有人加入特定的语音频道(例如VC1)时,它会向特定的文本频道(例如vc-text)发送消息。

这是机器人。js代码:

const Discord = require('discord.js');
const {token} = require('./auth.json');
const bot = new Discord.Client();

bot.login(token);

bot.once('ready', () =>{
    console.log(`Bot ready, logged in as ${bot.user.tag}!`);
})

bot.on('voiceStateUpdate', (oldMember, newMember) => {
    let newUserChannel = newMember.voiceChannelID
    let oldUserChannel = oldMember.voiceChannelID

    if(newUserChannel === 712677767333937284) {
        // User Joins a voice channel
        console.log("Joined VC1")

    } else if(newUserChannel !== 712677767333937284){
        // User leaves a voice channel
        console.log("Left VC1")

    }
})

一些ID:

  • 文本通道ID是712677731023716452-发送通知到(我知道我需要添加通道消息编码)

当我加入VC1时,我会收到控制台消息“Left VC1”,当我离开/加入另一个VC1时,我也会收到相同的控制台消息。

我从https://www.reddit.com/r/discordapp/comments/6p85uf/discordjs_any_way_to_detect_when_someone_enter_a/

共有1个答案

祝锐
2023-03-14

这应该行得通

    bot.on('voiceStateUpdate', (oldMember, newMember) => {
       let newUserChannel = newMember.channelID;
       let oldUserChannel = oldMember.channelID;
    
       if(newUserChannel === "Channel id here") //don't remove ""
       { 
           // User Joins a voice channel
           console.log("Joined vc with id "+newUserChannel);
       }
       else{
           // User leaves a voice channel
           console.log("Left vc");
       }
    });
 类似资料:
  • 我正在为我的discord服务器构建一个机器人来播放YouTube视频,因为我还没有在网上找到一个可靠的机器人。 在我输入后,机器人会连接到我的语音频道!播放{url}命令,但即使url有效,也会立即离开。 我的代码如下: 我尝试过在我的PC上使用一个硬编码的文件,但我得到了相同的结果,机器人一连接就离开了语音通道。 我确实通过在cmd窗口中运行命令来验证ffmpeg和youtube-dl是否正常

  • 我有一个机器人,我正在使用C#和这个SDKhttps://github.com/RogueException/Discord.Net 我试图找出一种方法,该方法基于某人何时加入语音频道并离开,基于他是谁。Discord API频道说我需要使用网关和“语音状态更新”事件,但我不太清楚如何做到这一点。 有没有办法用文档,https://discord.foxbot.me/docs/api/index.

  • 我想制造一个播放音频文件的不和谐机器人。现在,它加入语音通道并播放音频文件,但之后拒绝离开。我的代码在下面。谁能建议一些修复,使我的机器人将离开语音频道?

  • 首先我很抱歉我的英语不好。我正在开发一个不和谐的音乐机器人,我想添加一个功能,让机器人在与语音频道断开连接之前停留30秒(当空闲=所有音乐结束时没有播放更多) 但我想让它立即与语音通道断开,并在使用“停止”命令时结束一切 当它播放完一段音乐后,等待30秒,然后断开连接,好吗!但问题是:如果有人在等待30秒时使用“播放”命令,它会播放他的音乐曲目,但在30秒后它会剪切所有内容(即使第二首曲目没有结束

  • 我有一个问题,我正在使用discord.js播放音乐,但当我发送命令$stop时,我的bot没有离开语音通道,请帮助!

  • 我正在为我朋友组的游戏服务器开发一个discord机器人。我想添加一个命令,使语音频道中的每个人都静音。我想这是可以工作,但它返回时不是一个函数,导致机器人崩溃。这是的工作原理是,它将服务器静音发送消息的成员,但显然不是我想要的整个频道。我对不和谐是全新的。js和文档有点混乱。谢谢你的时间!