На сервере, на котором я нахожусь с друзьями, нужен бот, конечно, доступно множество ботов, но я решил пойти дальше и попытать счастья, создав своего собственного. Я знаю некоторый базовый код и написал простого бота на 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.");
});
}
Изначально у меня была команда очистки, которая удаляла сообщения на количество x в коде, а не на то количество, которое я хочу. Например, моя цель состоит в том, чтобы в Discord я сделал что-то вроде !purge 10 и удалил последние 10 сообщений. Раньше у меня была команда !purge, которая удаляла предыдущие 10 сообщений, но если бы я хотел сделать, например, 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);
});
}
это сработало нормально, но, как я уже сказал, не очень эффективно.
Теперь я буду полностью честен и скажу, что метод, который я сейчас использую (тот, который не работает), не описан в Gist.
И что это такое в настоящее время он делает это... Абсолютно ничего.. Раньше он удалял x количество сообщений, которые я сказал ему удалить в коде, поэтому, например, если бы я хотел удалить 7 сообщений на сервере, он удалил бы 10.
Я хочу, чтобы я мог сказать боту удалить x количество сообщений на сервере независимо от их количества, а не то, что если я хочу удалить 7 сообщений, он удалит 10.
Может быть, я что-то очень легко упускаю? Может я просто не замечаю какую-то глупость? Я законно потерялся. Сейчас я пишу это в 6 утра, так что может быть и так.