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

向机器人添加“我已经在频道功能中”。[Discord.js]

冀嘉木
2023-03-14

我正在尝试添加一个功能,如果一个机器人已经在与某人的语音聊天中,并且该人试图使其加入,则机器人会回答“我已经在语音聊天中”。这是它适合的部分

client.on('message', async message => {
  // Voice only works in guilds, if the message does not come from a guild,
  // we ignore it
  if (!message.guild) return;

  if (message.content === '>join') {
    // Only try to join the sender's voice channel if they are in one themselves
    if (message.member.voice.channel) {
      const connection = await message.member.voice.channel.join();
    } else {
      message.reply('You need to join a voice channel first!');
    }
  }
});

我问了一个人,建议我使用我比较机器人和用户的“声音tate.channelID”。如果相同,则机器人返回消息'我已经在通道中!'我在哪里以及如何将它放入代码中。我对编程和JavaScript非常陌生。

额外信息:我正在使用节点。js和一个名为Discord的库。js。如果你不知道,这是一个不和谐的机器人。我只包括了一段专门用于语音聊天的代码,请告诉我你是否需要其余的,我会提供!

共有1个答案

呼延德华
2023-03-14

不和。JS你可以做会员。嗓音channelID获取频道ID。因此,在代码中可以添加:

const clientMember = message.guild.members.cache.get(client.user.id);

if(!clientMember.voice.channel) {
    //The bot is in no voice channel, go ahead and join it.

} else if(clientMember.voice.channelID == message.member.voice.channelID) {
    //They're already in the same channel

} else {
    //They're both connected to a voice channel, but they are in different channels.
}

把它放在if(message.member.voice.channel){中,以确保运行该命令的人实际上是在VC中。

 类似资料:
  • 我正在使用laravel-inentation-通道/电报,我已经为我的用户和我的机器人实现了欢迎通知,没有问题地发送该消息,我实现的第二部分是将这些用户(我已经发送了欢迎消息)添加到我的通道中。 我的机器人是我频道的管理员,可以添加用户。 < li >电报用户可以注册(完成) < li >获取电报用户数据并发送欢迎消息(完成) < li >通过bot将电报用户添加到我的频道。(需要帮助) < c

  • 我正在尝试让我的discord机器人连接到一个语音频道,目前如下所示: 基本上,当他们发送消息时,我希望它加入消息作者的语音频道“-skip”,然后我的机器人加入,在聊天中说-p scotland forever,然后离开。我收到一条错误消息,说“频道”未定义或“连接”未定义,我尝试了几种不同的方法,我想我只是没有导入插件或其他东西,这可能是我的问题,但我知道应该使用什么插件。任何帮助都将不胜感激

  • 你好,我真的需要一些关于“自动审核”功能的帮助,我想把它包含在我的第一个不和谐机器人中,它是用JavaScript编码的。此外,我对这种编程语言和discord.js本身非常陌生,所以我真的不知道如何正确使用所有的参数。 不管怎样,关键是,我希望我的机器人分析我的Discord服务器的每个成员发送的消息,并在所述消息中寻找冒犯性或不恰当的词语。如果至少找到一个,它将发送一条消息,提及发送所述消息的

  • 我想让我的不和谐机器人返回它在某个公会中可以访问的频道,我正在使用: 但这将返回公会的所有频道。如何检查机器人是否有读取频道的权限,以便我只能看到机器人被允许看到的频道?

  • 我希望我的不和谐机器人加入语音频道。但是我遇到了一个问题,每当我想让它加入风投时,什么都不会发生——甚至没有错误。我尝试过SO/Git的其他解决方案,但没有一个适合我(下面有一个)。 编辑:解决了!问题是:没有不和。已安装py[语音]模块。解决方案:

  • 我在Netty上运行的项目有以下场景: 我有一个绑定到“w”的服务器通道 我基本上需要一个现有通道的bind('w','z')方法,它将从'z'获取连接并将其包含在我现有的管道中,而不是转到已经绑定在'w'的服务器通道 这在Netty中可能吗? 我能想到的一个(脏)解决方案是单独存储这些绑定请求,然后当我的服务器获得相应的连接时,它只会创建一个“转发”处理程序,将所有内容转发到我的其他通道。Net