В discord.net, как сделать так, чтобы все сообщения автоматически удалялись каждую минуту? - PullRequest
0 голосов
/ 29 сентября 2018

Итак, у меня есть проверочный канал на моем сервере разногласий, который проверяет вас, если вы набираете // verify, но я хочу сделать так, чтобы все сообщения автоматически удалялись каждую минуту на этом канале.Как мне это сделать?

1 Ответ

0 голосов
/ 10 октября 2018

Одна минутная задержка

Ну, если вам действительно нужна эта 1 минутная задержка, вы можете получить список идентификаторов сообщений (ulongs).В вашем методе MessageReceived вы можете сделать что-то вроде if(message.Channel.Id == YOURCHANNELID) YOURMESSAGELIST.Add(message.Id); В вашем событии Client Ready вы запустите асинхронный таймер (из System.Threading) с задержкой в ​​1 минуту.Так что всегда на вашем таймере:

  var guild = MainClass.DiscordClient.GetGuild(YOURCHANNELID);
  var channel = guild.GetTextChannel(YOURCHANNELID);
  await channel.DeleteMessagesAsync(YOURMESSAGELIST);
  YOURMESSAGELIST.Clear();

Удалить сообщение при получении

Что было бы намного проще и надежнее, удаляя каждое сообщение из этого канала, как только вы его получили, что означает, чтоу вас есть метод if в вашем MessageReceived, похожий на этот: if(message.Channel.Id == YOURCHANNELID) await message.DeleteAsync();

Я надеюсь, что это поможет вам.

...