【问题标题】:Discord.js changes only one voice channel nameDiscord.js 仅更改一个语音通道名称
【发布时间】:2021-10-13 17:03:29
【问题描述】:

我已经设置了,如果进行A动作或B动作,则两个语音通道的名称都会改变:

if(A) {
  client.channels.cache.get("871368210727964723").setName(UserInputA);
  client.channels.cache.get("871368209742311445").setName(StoredInputB);
} else {
  client.channels.cache.get("871368210727964723").setName(UserInputA);
  client.channels.cache.get("871368209742311445").setName(StoredInputB_1);
}

但是由于某种原因,当这个动作被触发时,Discord.js 完全表现得很奇怪。它要么更改一个语音通道名称(通常是第一个),要么更改它们中的两个(这是我想要的),要么根本不更改任何内容,我完全不知道可能是什么问题。我尝试将它们设置为vars,然后一旦触发操作,我尝试将其添加到代码末尾希望它会有所帮助,但仍然没有任何运气:

    UserInputA = undefined;
    StoredInputB = undefined;
    StoredInputB_1 = undefined;
    delete(UserInputA);
    delete(StoredInputB);
    delete(StoredInputB_1);

即使有时在非常罕见的情况下,它也会在 5 到 10 分钟后发生变化。我什至尝试事先制作一个 try/catch 语句,看看是否可能发生错误,但无论有没有它,控制台上都没有显示任何内容。

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

    这是由于速率限制。正如梅森在 Discord 开发者服务器上的 here 所述,官方接受的更改频道名称、主题或删除频道的速率设置为 每 10 分钟两次更新

    Discord.js 让您免于突破这些限制。因此,如果您尝试经常运行此代码,discord.js 将阻止您的机器人受到速率限制。

    所以请耐心等待,您的代码对我来说看起来非常好。名称会发生​​变化,只是需要时间。

    sterlus 已经在另一个question 中讨论过这个问题

    【讨论】:

      猜你喜欢
      • 2021-01-10
      • 2023-02-23
      • 2018-09-24
      • 1970-01-01
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 2021-07-04
      相关资源
      最近更新 更多