【问题标题】:Discord.js - Cannot edit a messageDiscord.js - 无法编辑消息
【发布时间】:2020-05-22 15:21:54
【问题描述】:

我有问题。我正在尝试编辑消息,但出现错误。我该如何解决这个问题?

TypeError: polje.edit is not a function

我的代码:

    if (msg === "test") {

        let polje = message.channel.send(poljeprazno);

        try {
            var odgovor = await message.channel.awaitMessages(message2 => message2.content === "a1", {
                maxMatches: 1,
                time: 5000,
                errors: ['time']
            });
            if (odgovor.first().content === "a1") {
                if (poljeprazno[0][0] != "⬜") return message.channel.send("Zasedeno");
                poljeprazno[0][0] = "⭕";
                polje.edit(poljeprazno);
            }
        }catch (err) {
            console.error(err);
            return message.channel.send("Ničesar nisem dobil").then(d_msg => { d_msg.delete(5000); });
        }
    }

【问题讨论】:

    标签: node.js discord.js


    【解决方案1】:

    您在发送消息时忘记使用await,因此poljePromise<Message>,而不是实际的Message。你可以这样写:

    let polje = await message.channel.send(poljeprazno)
    

    【讨论】:

    • 打败我。哇,你真快
    【解决方案2】:

    考虑一下:

    let polje = message.channel.send(poljeprazno);

    message.channel.send() 返回一个 Promise。它是一个异步函数,因此无法保证当您调用 polje.edit(poljeprazno); 时,poleje 甚至返回了 Message 对象,edit() 函数所在的对象。

    你想要:

    let polje = await message.channel.send(poljeprazno);

    【讨论】:

      猜你喜欢
      • 2019-11-17
      • 2022-11-14
      • 2020-06-25
      • 2020-09-08
      • 1970-01-01
      • 2021-10-30
      • 2017-12-30
      • 2021-07-02
      • 1970-01-01
      相关资源
      最近更新 更多