如何让机器人在 Discord 上编辑自己的消息
How to make a bot edit its own message on Discord
我的朋友为我写了这段很棒的代码,但它似乎不起作用。它意味着根据命令发送消息,然后一遍又一遍地编辑消息。但是当我 运行 我的终端代码显示
DiscordAPIError: Cannot edit a message authored by another user method: 'patch', path: '/channels/808300406073065483/messages/811398346853318668', code: 50005, httpStatus: 403
有办法解决这个问题吗?
client.on('message', userMessage =>
{
if (userMessage.content === 'hi')
{
botMessage = userMessage.channel.send('hi there')
botMessage.edit("hello");
botMessage.edit("what up");
botMessage.edit("sup");
botMessage.react(":clap:")
}
});
Channel#send()
方法 returns 一个承诺,这意味着您必须等待操作完成才能定义它。这可以使用 .then()
或 async
和 await
来完成。从个人喜好来看,我经常使用第二个选项,虽然我已经为你列出了两个选项。
最终代码
client.on('message', async userMessage => {
if (userMessage.content === 'hi')
{
/*
botMessage = await userMessage.channel.send('hi there')
*/
userMessage.channel.send('hi there').then(botMessage => {
await botMessage.edit("hello");
await botMessage.edit("what up");
botMessage.edit("sup");
botMessage.react(":clap:")
})
}
});
我的朋友为我写了这段很棒的代码,但它似乎不起作用。它意味着根据命令发送消息,然后一遍又一遍地编辑消息。但是当我 运行 我的终端代码显示
DiscordAPIError: Cannot edit a message authored by another user method: 'patch', path: '/channels/808300406073065483/messages/811398346853318668', code: 50005, httpStatus: 403
有办法解决这个问题吗?
client.on('message', userMessage =>
{
if (userMessage.content === 'hi')
{
botMessage = userMessage.channel.send('hi there')
botMessage.edit("hello");
botMessage.edit("what up");
botMessage.edit("sup");
botMessage.react(":clap:")
}
});
Channel#send()
方法 returns 一个承诺,这意味着您必须等待操作完成才能定义它。这可以使用 .then()
或 async
和 await
来完成。从个人喜好来看,我经常使用第二个选项,虽然我已经为你列出了两个选项。
最终代码
client.on('message', async userMessage => {
if (userMessage.content === 'hi')
{
/*
botMessage = await userMessage.channel.send('hi there')
*/
userMessage.channel.send('hi there').then(botMessage => {
await botMessage.edit("hello");
await botMessage.edit("what up");
botMessage.edit("sup");
botMessage.react(":clap:")
})
}
});