public void UpdateMessages() { new Thread(() => { const int HowManyMessagesDownload = 25; if (Channel != null) { if (Channel is SocketDMChannel) { SocketDMChannel c = (SocketDMChannel)Channel; var msgs = c.GetMessagesAsync(HowManyMessagesDownload).ToList(); var reslt = msgs.GetAwaiter().GetResult()[1]; UpdateMessagesEx(reslt.ToArray()); } else if (Channel is SocketGroupChannel) { SocketGroupChannel c = (SocketGroupChannel)Channel; var msgs = c.GetMessagesAsync(HowManyMessagesDownload).ToList(); var reslt = msgs.GetAwaiter().GetResult()[1]; UpdateMessagesEx(reslt.ToArray()); } else if (Channel is SocketTextChannel) { SocketTextChannel c = (SocketTextChannel)Channel; var msgs = c.GetMessagesAsync(HowManyMessagesDownload).ToList(); var reslt = msgs.GetAwaiter().GetResult()[1]; UpdateMessagesEx(reslt.ToArray()); } else if (Channel is SocketChannel) { SocketTextChannel c = (SocketTextChannel)Channel; var msgs = c.GetMessagesAsync(HowManyMessagesDownload).ToList(); var reslt = msgs.GetAwaiter().GetResult()[1]; UpdateMessagesEx(reslt.ToArray()); } } if (DmBotChannel != null) { var msgs = DmBotChannel.GetMessagesAsync(HowManyMessagesDownload).ToList(); var reslt1 = msgs.GetAwaiter().GetResult(); var reslt = reslt1[0]; UpdateMessagesEx(reslt.ToArray()); } }).Start(); }