【问题标题】:Is it possible to selft mute a member with discord.js?是否可以使用 discord.js 对成员进行自我静音?
【发布时间】:2020-06-26 09:09:29
【问题描述】:

最近由于冠状病毒,学校停课了,所以我为我的班级制作了一个不和谐的服务器。人们对不和谐不是很熟悉,所以我想要一个可以让人们自我静音的命令,这样课程就可以开始了。如果他们想向老师提问,我希望每个人都能够取消静音,因此是自我静音而不是服务器静音。 我已经尝试过这段代码,但它不起作用,因为 .selfmute(true) 是为机器人制作的。

const Discord = require('discord.js');
const client = new Discord.Client();
const config = require("./config.json");

const prefix = "!";
client.on("message", (message) => {
if (!message.content.startsWith(prefix)) return;

if (message.content.startsWith(prefix + "mute")) {
    let channel = message.member.voice.channel;
    for (let member of channel.members) {
        member[1].voice.setSelfMute(true);
    }
}
});

client.login(config.token);

有人知道怎么做吗?感谢您的帮助。

PS:对不起,我的英语不是我的母语。

【问题讨论】:

    标签: javascript bots discord discord.js mute


    【解决方案1】:

    很遗憾,您不能对客户用户以外的用户进行自我静音或自聋。

    documentation for setSelfMute 说:

    为此语音状态自动静音/取消静音。

    此外,如果您尝试将不是客户端用户的用户自我静音,您将收到此错误:

    Error [VOICE_STATE_NOT_OWN]: You cannot self-deafen/mute on VoiceStates that do not belong to the ClientUser.
    

    或者,您可以正常静音,然后使用命令取消静音。

    【讨论】:

    • 因为我希望他们能够随时取消静音,所以我会放弃这个想法。感谢您的回复!
    • 我该如何使用它们?我做了message.member.setSelfMute(true) 不工作
    • @BrokenSoul setSelfMuteVoiceState 上的一个方法,所以使用message.member.voice.setSelfMute(true)。请注意,这仅适用于机器人用户,因此这样做可能毫无意义。如果您想自动静音机器人,只需执行message.guild.me.voice.setSelfMute(true)
    【解决方案2】:

    所以setSelfMute这个方法只适用于机器人,文档可以在here找到! 为了让用户发生这种情况,还有一个关于 here 的文档!我会尽快用代码编辑消息。它将包括 2 种方式:1. 带前缀的常规命令,2. 斜杠命令(稍后会出现... - 文档 here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-19
      • 2018-09-17
      • 2021-03-05
      • 2021-01-13
      • 2013-05-10
      • 1970-01-01
      • 1970-01-01
      • 2019-02-06
      相关资源
      最近更新 更多