消息不会被删除?

Messages does not get deleted?

Service.CreateCommand("delete")
       .Do(async (e) => {
           var MessageToDelete = await e.Channel.DownloadMessages(150);
           await e.Channel.DeleteMessages(MessageToDelete);
});

我试图让我的机器人在执行命令时删除 150 条消息。但是当我测试命令时,它不起作用,机器人什么也不做。我已经尝试在其上使用 try-catch 语句,它总是移动到 catch 块。有办法解决这个问题吗?

另外,如何让只有可以删除消息的用户才能使用此命令?

先来看这张图:

您可以下载的邮件数量上限为 100 条。这意味着如果您尝试下载更多邮件,将会导致错误。如果要删除150条消息,可以通过循环或手动再次复制粘贴2行代码,使其执行两次任务。 [不要在没有计时器的情况下循环太多次,你的机器人可能会得到 rate-limited。]

Also, how do I make that only users who can delete messages can use this command?

使用 if..else 语句,if (e.User.ServerPermissions.ManageMessages == true)...

你也可以为其他人做这件事,比如禁止之类的,只是简单的 e.User.ServerPermissions.<PERMISSIONS>

我建议通过 github here.

阅读更多有关 discord.net 图书馆的内容