簡體   English   中英

Discord.js:一次靜音多個用戶

[英]Discord.js: Mute multiple users at once

我目前正在開發一個不和諧的機器人,它可以使語音聊天的一部分靜音/耳聾。 它有效,但我遇到了一些問題。 當機器人試圖讓一大群玩家靜音時,他們會被一個一個地靜音。 當其中一名玩家的互聯網連接速度較慢時,他們下方的所有玩家都必須等到該玩家被靜音。 這意味着 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 還很陌生。 那么,有沒有人知道如何解決這個問題? 謝謝!

我認為多個進程是否緩慢取決於您的機器人服務器和您的不和諧服務器(您的機器人在)。 不是您用戶的網絡。 基本上 js 是同步的,您的過程將幾乎同時完成。 (如果你想要異步任務,你可以用thenPromiseasync await 。)

減輕一點后顧之憂。

謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM