我如何编辑我的机器人发送的来自不同频道的消息?



我在我的机器人上做了一个建议模块,我有其他的一切,但我正在努力获取机器人发送的消息,并使用在不同通道中发送的命令编辑它。

我试着做await message.guild.channels.cache.get("channel-id-here").messages.fetch("the-actual-messages-id-here").edit({ content: 'Test' }),但它没有工作。

你的代码,虽然理论上,应该可以工作,但很可能因为未解决的承诺而无法工作。

await message.guild.channels.cache.get("channel-id-here").messages.fetch("the-actual-messages-id-here").edit({ content: 'Test' })

开始的await试图解决edit方法的承诺,其中<MessagesManager>#fetch方法有另一个承诺要解决。换句话说,你忽略了从fetch返回的承诺,它不会解析任何消息。考虑以下更改:

const messages = await message.guild.channels.cache.get("channel-id-here").messages;
await messages.fetch("the-actual-messages-id-here").edit({ content: 'Test' });

或者如果你真的需要一行代码(我不建议这样做,因为它会影响可读性),你可以使用:

await (await message.guild.channels.cache.get("channel-id-here").messages.fetch("the-actual-messages-id-here")).edit({ content: 'Test' 

最新更新