private async Task <ITextChannel> GetChannel(DeleteMessageTimerArgs deleteArgs) { IChannel channel = await _client.GetChannelAsync(deleteArgs.ChannelId); ITextChannel textChannel = channel as ITextChannel; return(textChannel); }
private static async Task DeleteMessage(DeleteMessageTimerArgs deleteArgs, ITextChannel textChannel) { IMessage message = await textChannel.GetMessageAsync(deleteArgs.MessageId); if (message != null) { await textChannel.DeleteMessagesAsync(new[] { message }); } }
private void OnTimedEvent(object state) { DeleteMessageTimerArgs deleteArgs = (state as DeleteMessageTimerArgs); if (deleteArgs != null) { Task.Run(async() => { var textChannel = await GetChannel(deleteArgs); if (textChannel != null) { await DeleteMessage(deleteArgs, textChannel); } }); } OnTimerHandeld(this); Dispose(); }