我不是一个程序员或任何我只是为了好玩而做这件事!我和一些朋友一起服务的机器需要一个机器人,当然有很多机器人可用,但我想我会继续努力,自己动手做运气 . 我知道一些基本代码,我在C#中编写了一个简单的机器人,但对于我的生活,我无法弄清楚如何制作一个清除命令 . 我目前创建的是:
RegisterPurgeCommand();
private void RegisterPurgeCommand()
{
commands.CreateCommand("purge")
.Parameter("PurgeAmount")
.Do(async (e) =>
{
var messagesToDelete = await e.Channel.DownloadMessages(convert.ToInt32(e.GetArg("purgeAmount")));
await e.Channel.DeleteMessages(messagesToDelete);
await e.Channel.SendMessage(e.GetArg("purgeAmount") + "Messages Deleted.");
});
}
You can view the code here in screenshot format if you prefer
我最初拥有的是一个清除命令,它在代码中删除了x个数量的消息,而不是我想要的数量 . 例如,我的目标是在Discord中我会做一些事情!purge 10和最后10条消息被删除 . 我以前拥有的是一个删除前10条消息的!purge命令,但如果我想做7例,那么它仍然可以执行10条消息 .
代码是:
RegisterPurgeCommand();
private void RegisterPurgeCommand()
{
commands.CreateCommand("purge")
.Do(async (e) =>
{
Message[] messagesToDelete;
messagesToDelete = await e.Channel.DownloadMessages(100);
await e.Channel.DeleteMessages(messagesToDelete);
});
}
you can view the code here in screenshot format if you prefer
这工作得很好,但正如我所说的那样效率不高 .
现在,我将完全诚实地说,我现在使用的方法(那个不起作用的方法)是对Gist的解释 .
所以它目前所做的是......绝对没有..它过去做的是删除我告诉它在代码中删除的x消息量,例如,如果我想删除服务器中的7条消息,它将删除10 .
我想要它做的是我可以告诉机器人删除服务器中的x数量的消息,而不管它的数量,而不是如果我想删除7它删除10 .
也许我很容易错过一些东西?也许我只是忽略了一些愚蠢的东西?我失去了合法性 . 因为我正在写这篇文章,所以也是早上6点,所以也可能是这样 .
1 回答
您正在解析参数PurgeAmount但实际上并未将其用于任何事情 .
在此行而不是使用100,使用您的清除量参数
用我的版本编辑:
所以我就是这样做的,忽略那些只是调试的控制台 .