【问题标题】:Why does my code seem to stop at Interaction.editReply()?为什么我的代码似乎在 Interaction.editReply() 处停止?
【发布时间】:2022-01-15 09:50:26
【问题描述】:

我在 discord.js 中创建了一个游戏命令,但是当尝试 editReply 时,它不会超过那个...我尝试在前后放置控制台日志,但之后的那个没有运行。我尝试使用await interaction.deferReply(),然后一直使用BotName is thinking...。参数正确传入,没有任何错误。

代码如下:

async execute(client, interaction, args) {
    await interaction.reply(`valid string here`) // does send
    let num = Math.floor((Math.random() * (args[0] || 1000)) + 1); //get random number
    let guesses = 0;
    let logs = ["None"];
    console.log("Running 1") // logs
    await interaction.editReply(
      `valid string here`
    )
    console.log("Running 2") // doesn't log and doesn't edit
    // ...
}

使用client.on("debug")client.on("warn") 后,我似乎得到了 429,但我什至没有循环播放,昨天它工作得很好

Hit a 429 while executing a request.
    Global  : false
    Method  : patch
    Path    : /webhooks/---/messages/@original
    Route   : /webhooks/:id/---/messages/@original
    Limit   : Infinity
    Timeout : 500ms
    Sublimit: 1130000ms

【问题讨论】:

  • 我将您提供的确切代码放入我的机器人中,并对其进行了测试,它运行良好。两个日志都发送,并且编辑工作完美。我不确定是什么导致了这个问题。您确定这不是由其他一些简单的错误引起的,例如没有保存文件吗?
  • 嗯,它正在重拍,也许这就是问题所在?
  • 也许这就是问题所在。我过去知道,在 repli 上使用 Java 时,有时节省会变得很不稳定。我会对应该可以正常工作的代码进行非常简单的更改(例如添加System.out.println("hello world")),但是在运行 repl 时,它会表现得好像我从未进行过这些更改一样。刷新页面几次后,我添加的更改就会消失,就好像它们没有保存一样。在尝试在 replit 上调试代码时,这无疑给我带来了很多困惑。也许这就是你遇到的问题?如果不是,我不确定它是什么。
  • 奇怪...我所有的.editReplys 都不再工作了...我使用了一个昨天有效的命令来编辑回复,但它没有
  • 记录方法给出正确的值

标签: javascript discord discord.js


【解决方案1】:

您对问题的新编辑最有可能回答您的问题。如果您在 replit 上托管一个机器人(尤其是免费托管),您的机器人很可能会与在 replit 上托管的其他机器人共享一个 IP。 Discord 的速率限制是根据请求 API 的 IP 实施的。发生此错误所需要的只是让其他人(其机器人碰巧与您的 IP 共享相同的 IP)创建一个设计不佳/恶意设计的不和谐机器人,该机器人向 API 发送垃圾邮件并导致您的机器人的 IP 获得速率限制。在这种情况下,我假设有人在设计不佳的循环等中过多地使用了.editReply()

关于这个问题的解决方案,我找到了这个replit post。它建议您可以“在 shell 选项卡中运行 kill 1 以销毁当前容器并切换到新容器”。那篇文章是 10 个月前的,所以它现在可能有效,也可能无效。 (如果这不起作用,另一种解决方案也可以是分叉您自己的 repl,然后删除原始版本。这也可能会将您的机器人切换到新 IP)。

【讨论】:

    猜你喜欢
    • 2019-11-21
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 2014-07-21
    相关资源
    最近更新 更多