[英]how to delete a message not a channel discord.js
我尝试寻找如何通过 id 删除消息,我通过获取频道并通过 json object 并获取最后一个消息 id 并想要删除它,但是当我运行它时,它只会删除整个频道
这就是我的代码
let x = client.channels.cache.get('830341462070919168')
let lastMessageID = x.lastMessageID;
client.channels.cache.get('830341462070919168').fetch(lastMessageID).then(msg => msg.delete());
client.channels.cache.get('830341462070919168').send('**UPDATE!!**\nList of Photo Shoots to be done\n```1. Nick\n2. Drew```');
我在另一个表格上看到我可以试试这个
client.channels.cache.get('830341462070919168').fetch(lastMessageID).then(async msg => {
await client.channels.cache.get('830341462070919168').send("**UPDATE!!**\nList of Photo Shoots to be done\n```1. Nick\n2. Drew```");
if (msg) msg.delete();
});
它和我上面做的一样
我想要它做的只是获取最后一条消息 id 并通过 id 删除该消息,然后使用一条新消息进行更新,我将循环遍历所有注册,然后将其放入消息中
output:更新!! Lise of Photo Shoots to be done
1. {name}
2. {name}
etc..
我修复了它,我需要做的就是将 id 放入删除 function
例子:
client.channels.cache.get('830342527340773386').messages.delete(lastMessageID);
在您的情况下, client.channels.cache.get('830341462070919168').fetch(lastMessageID)
将返回频道本身。 所以调用Channel.delete()
会删除频道。 所以你可以像你回答的那样做,或者做client.channels.cache.get('830341462070919168').message.fetch(lastMessageID)
来获取消息,然后解析 promise 来删除消息。 <消息管理器>#fetch()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.