I tried making a button that would delete the message when clicked, but this error showed up:
The Error
uncaughtException: Error [ChannelNotCached]: Could not find the channel where this message came from in the cache!
at Message.delete (D:\Gits\dqm\backend-next\node_modules\discord.js\src\structures\Message.js:828:30)
at NewCli.<anonymous> (D:\Gits\dqm\backend-next\src\server\client.ts:33:39)
at NewCli.emit (node:events:514:28)
at NewCli.emit (node:domain:488:12)
at InteractionCreateAction.handle (D:\Gits\dqm\backend-next\node_modules\discord.js\src\client\actions\InteractionCreate.js:97:12)
at Object.module.exports [as INTERACTION_CREATE] (D:\Gits\dqm\backend-next\node_modules\discord.js\src\client\websocket\handlers\INTERACTION_CREATE.js:4:36)
at WebSocketManager.handlePacket (D:\Gits\dqm\backend-next\node_modules\discord.js\src\client\websocket\WebSocketManager.js:355:31)
at WebSocketManager.<anonymous> (D:\Gits\dqm\backend-next\node_modules\discord.js\src\client\websocket\WebSocketManager.js:239:12)
at WebSocketManager.emit (D:\Gits\dqm\backend-next\node_modules\@vladfrangu\async_event_emitter\src\index.ts:356:28)
at WebSocketShard.<anonymous> (D:\Gits\dqm\backend-next\node_modules\@discordjs\ws\src\strategies\sharding\SimpleShardingStrategy.ts:32:47)
at WebSocketShard.emit (D:\Gits\dqm\backend-next\node_modules\@vladfrangu\async_event_emitter\src\index.ts:356:28)
at WebSocketShard.onMessage (D:\Gits\dqm\backend-next\node_modules\@discordjs\ws\src\ws\WebSocketShard.ts:630:10)
at processTicksAndRejections (node:internal/process/task_queues:95:5) {
code: 'ChannelNotCached'
}
The Code
// interaction code
if (inter.customId == "selfdestruct") {
await inter.message.delete()
}
// message code
const cancel = new ButtonBuilder()
.setCustomId(`selfdestruct`)
.setLabel('Cancel')
.setStyle(ButtonStyle.Secondary)
const row = new ActionRowBuilder<ButtonBuilder>()
.addComponents(confirm, cancel)
inter.reply({ embeds: [embed], components: [row] })
The Version
node 20.8.0
d.js 14.14.1