如何使用discord.js记录成员自我静音/自我耳聋/取消自我静音/取消自我耳聋的日志?

3

最近我有些困惑,不知道如何记录更新语音状态(例如自己静音/解除静音)的成员并将其记录到文本频道中。我已经记录了成员加入/离开/移动语音频道时的日志,但是我不知道如何记录关于自我静音等语音状态的更新。请问有人能告诉我该如何做吗?


嗨@Bobosky,欢迎来到SO!您能提供一些您尝试过的代码吗?这样我们可以为您提供支持。谢谢! - David Passmore
1个回答

1
阅读文档,有这个函数:

voiceStateUpdate

它的意思是:每当成员更改语音状态时发出信号 - 例如加入/离开频道,静音/取消静音。

并接受这些参数:

oldState    VoiceState  The voice state before the update
newState    VoiceState  The voice state after the update

您可以这样检测:

您可以通过以下方式检测到此问题:

client.on('voiceStateUpdate', (oldState,newState) => {
    if(oldState.selfMute === true && newState.selfMute === false)
        console.log("unmuted")
    if(oldState.selfMute === false && newState.selfMute === true)
        console.log("muted")
    if(oldState.selfDeaf === true && newState.selfDeaf === false)
        console.log("undeaf")
    if(oldState.selfDeaf === false && newState.selfDeaf === true)
        console.log("deaf")
});

我该如何标记谁被静音和解除静音?比如添加一个用户标签,标记自己静音的成员。 - Bobosky
没事了,我已经想到怎么做了。 - Bobosky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接