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

Discord.js:同时静音多个用户

秦联
2023-03-14

我目前正在开发一个不和谐机器人,可以静音/聋哑语音聊天的一部分。它的工作,但我遇到了一些问题。当机器人试图让一大群玩家静音时,他们一个接一个地静音。当其中一个玩家的网络连接变慢时,他们下面的所有玩家都必须等到该玩家静音。这意味着一个静音/非静音可能需要5个玩家长达10秒的时间,这对于我使用它的目的来说太长了。

静音/隔音过程的简化代码:

this.players.forEach(player => {
  // If player belongs to group that has to be muted
  if ([condition]) {
    // Mute and undeafen player
    player.voice.setMute(true)
    player.voice.setDeaf(false)
  }
})

(其中“玩家”是一个包含GuildMember对象的数组)

我的问题是,有没有办法加快这个过程?我的解决方案是让所有玩家独立静音,但我不知道如何实现这一点。我正在考虑使用多线程,但我不确定这是否能解决这个问题,我不知道Javascript和Discord.js如何处理多线程,因为我对JS相当陌生。那么,有人知道如何解决这个问题吗?谢谢!

共有1个答案

翟卓君
2023-03-14

我认为多个进程是否慢取决于您的bot服务器和discord服务器(您的bot正在运行)。不是您用户的网络。基本上js是同步的,您的过程几乎同时完成。(如果您想要异步任务,可以使用然后promise异步等待

少解忧。

谢谢

 类似资料:
  • 因此,我编写了下面的代码,该代码将使给定通道中的所有成员静音: 但是它不起作用,我无法找出原因,因为我真的不知道setMute()函数是如何工作的。 编辑:我不确定如何访问每个成员并使其静音

  • 我在挑拨离间。js静音机器人,我有一些问题。 当有人使用命令将时间设置为,原因设置为。但是如果他们使用

  • 问题内容: 我正在尝试使用2个AVPlayer实例播放多个音频文件,但是其中一个播放器停止了几分之一秒,而不是同时播放所有音频文件。该程序的逻辑如下: 将从我的数据库流式传输音频文件。就其本身而言,玩起来很完美。 播放当前正在播放的项目的计数。计数是一个1到8的序列,对于每个数字,我正在本地存储/设置一个.wav文件,例如1.wav,2.wav … 8.wav。 当的当前时间是某个时间时,将被触发

  • 我目前正在使用在我的Windows窗体应用程序中,但因此我不能同时播放多个声音。我知道,已经回答了这个主题的问题,但如果我试图使用Windows媒体播放器: 我得到一个错误: “系统。窗户。在名称空间Windows中找不到Media(类型或命名空间名称Media不可用)。媒体”) 我认为缺少一个组件,但我不知道如何添加它。难道没有一种简单的方法可以同时播放多种声音吗?

  • 问题内容: 我有两个项目,其中一个(服务)包括第二个(核心)。我已经在以下Core项目中定义了此PropertyPlaceholderConfigurer: 我想在上层项目中扩展Core占位符,包括appConfig.properties和其他一些。我发现的唯一方法是在上层定义另一个不同的bean(不同的ID),并包括新的bean: 但是它产生的结果是找不到appConfig.properties

  • 所以,我试图发出一个命令,当你说这个命令时,提供一个语音频道的名称和名称,将你提到的成员移动到该语音频道。我对此做了一些研究,但仍然无法使其工作。 现在,当我使用语音频道“Music”(也就是“d!move[提及]Music”)尝试该命令时,它会将“Moved[member]返回null”返回到控制台,当然,不会移动成员。它似乎可以找到我提到的成员,但找不到语音频道。任何帮助都将不胜感激。谢谢