Reputation: 27
My friend wrote this amazing code for me but it doesn't seem to work. It's meant to send a message on a command then edit the message over and over again. But when I run the code my terminal says
DiscordAPIError: Cannot edit a message authored by another user method: 'patch', path: '/channels/808300406073065483/messages/811398346853318668', code: 50005, httpStatus: 403
Is there a way to fix this problem?
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:")
}
});
Upvotes: 2
Views: 2652
Reputation: 1565
The Channel#send()
method returns a promise, meaning you must wait for the action to finish before being able to define it. This can be done using either .then()
or async
and await
. From personal preference, I regularly use the second option, although I have laid both options out for you.
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:")
})
}
});
Upvotes: 2