【问题标题】:How would I automatically move someone back to a channel?我如何自动将某人移回频道?
【发布时间】:2021-11-24 00:45:21
【问题描述】:

所以,基本上我有一些代码设置,我没有看到代码的问题。但基本上我想要它做的是,如果切换频道的成员之前的语音频道是“请勿打扰”,它会将他们移回“请勿打扰”语音频道。我做错了什么?我在控制台中收到 0 个错误。

    client.on('voiceStateUpdate', async (oldState, newState) => {
        let newUserChannel = newState.channel;
        let oldUserChannel = oldState.channel;

       if(oldUserChannel.id === "894024223088050176") {
                    var dndChannel = oldState.guild.channels.cache.find(ch => ch.type === "voice" && ch.name === "DO NOT DISTURB")
                    newState.member.voice.setChannel(dndChannel)
                }
      });

【问题讨论】:

  • 你使用的是什么版本的 discord.js?
  • 我不太确定,所以我不会将其作为答案发布,但请尝试newState.voice.setChannel(dndChannel.id)
  • 你有GUILD_VOICE_STATES的意图吗?
  • 我没有这个意图,但我使用了与语音通道相关的其他事件,例如断开用户连接等,这有关系吗? @GentleAutumnRain
  • 我正在使用 djs v12 @MrMythical

标签: javascript node.js discord.js


【解决方案1】:

仔细检查 if 条件中的 channelid 是否正确并使用

Guild.channels.fetch(channelId)

Guild.channels.cache.find().

【讨论】:

    猜你喜欢
    • 2021-02-07
    • 1970-01-01
    • 2021-12-13
    • 2019-03-18
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 2023-02-22
    相关资源
    最近更新 更多