我开始使用 Discord.net 为 Discord 服务器编写自己的机器人。我已经做了第一个命令(它仍然不能正常工作,但那是另一个故事),现在我正在测试,它有一个充满我发送的命令的聊天。我的目标是在我发送这些消息时立即删除它们(假设我发送了.command something,这应该在聊天中出现一小会)。我试图在文档和一些教程中查找它,但找不到任何东西。我只有基本的编程知识,所以如果你能告诉我如何实现这一点并解释它是如何工作的,我会很高兴。
答案 0 :(得分:0)
要回答如何删除消息的问题,请使用 Context.Channel.DeleteMessageAsync
函数。它需要一个消息id作为参数,所以此时你需要在内存中保存消息数据。
要回答如何删除刚刚发送的消息的问题,您可以使用上面的删除函数以及 Context.Message
数据,它为您提供触发命令的消息的消息数据。它将如下所示:
[Command("TestDelete")]
public async TestDeleteCommand()
{
await Context.Channel.DeleteMessageAsync(Context.Message.Id);
}
您可以通过查看 Discord.Net docs
找到有关 DeleteMessageAsync 函数的更多信息