发送后删除命令消息

时间:2021-04-07 00:29:44

标签: c# discord.net

我开始使用 Discord.net 为 Discord 服务器编写自己的机器人。我已经做了第一个命令(它仍然不能正常工作,但那是另一个故事),现在我正在测试,它有一个充满我发送的命令的聊天。我的目标是在我发送这些消息时立即删除它们(假设我发送了.command something,这应该在聊天中出现一小会)。我试图在文档和一些教程中查找它,但找不到任何东西。我只有基本的编程知识,所以如果你能告诉我如何实现这一点并解释它是如何工作的,我会很高兴。

1 个答案:

答案 0 :(得分:0)

要回答如何删除消息的问题,请使用 Context.Channel.DeleteMessageAsync 函数。它需要一个消息id作为参数,所以此时你需要在内存中保存消息数据。

要回答如何删除刚刚发送的消息的问题,您可以使用上面的删除函数以及 Context.Message 数据,它为您提供触发命令的消息的消息数据。它将如下所示:

[Command("TestDelete")]
public async TestDeleteCommand()
{
   await Context.Channel.DeleteMessageAsync(Context.Message.Id);
}

您可以通过查看 Discord.Net docs

找到有关 DeleteMessageAsync 函数的更多信息