我有问题。我正在尝试编辑消息,但出现错误。我该如何解决?
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); });
}
}
答案 0 :(得分:1)
您在发送消息时忘记使用await
,因此polje
是Promise<Message>
,而不是实际的Message
。您可以这样写:
let polje = await message.channel.send(poljeprazno)
答案 1 :(得分:0)
考虑一下:
let polje = message.channel.send(poljeprazno);
message.channel.send()
返回一个Promise。这是一个异步函数,因此无法保证在调用polje.edit(poljeprazno);
时poleje
甚至返回了Message
函数所在的edit()
对象。
您要
let polje = await message.channel.send(poljeprazno);