public async Task <List <ChannelMessage> > SendMessages(string platform, List <BroadcastMessage> messages) { var channelMessages = new List <ChannelMessage>(); foreach (var message in messages) { var chat = await _discordService.GetMessageChannel(message.GuildId, message.ChannelId); if (chat != null) { try { ChannelMessage channelMessage = new ChannelMessage(); channelMessage.ChannelId = message.ChannelId; channelMessage.GuildId = message.GuildId; channelMessage.DeleteOffline = message.DeleteOffline; if (message.Embed != null) { RequestOptions options = new RequestOptions(); options.RetryMode = RetryMode.AlwaysRetry; var msg = await chat.SendMessageAsync(message.Message, false, message.Embed, options); if (msg != null || msg.Id != 0) { channelMessage.MessageId = msg.Id; } } else { var msg = await chat.SendMessageAsync(message.Message); if (msg != null || msg.Id != 0) { channelMessage.MessageId = msg.Id; } } channelMessages.Add(channelMessage); if (platform.Equals(Constants.Mixer)) { await _statisticsManager.AddToBeamAlertCount(); await _alertManager.LogAlert(Constants.Mixer, message.GuildId); } else if (platform.Equals(Constants.Smashcast)) { await _statisticsManager.AddToHitboxAlertCount(); await _alertManager.LogAlert(Constants.Smashcast, message.GuildId); } else if (platform.Equals(Constants.Twitch)) { await _statisticsManager.AddToTwitchAlertCount(); await _alertManager.LogAlert(Constants.Twitch, message.GuildId); } else if (platform.Equals(Constants.YouTubeGaming)) { await _statisticsManager.AddToYouTubeAlertCount(); await _alertManager.LogAlert(Constants.YouTubeGaming, message.GuildId); } else if (platform.Equals(Constants.Picarto)) { await _statisticsManager.AddToPicartoAlertCount(); await _alertManager.LogAlert(Constants.Picarto, message.GuildId); } else if (platform.Equals(Constants.VidMe)) { await _statisticsManager.AddToVidMeAlertCount(); await _alertManager.LogAlert(Constants.VidMe, message.GuildId); } else if (message.Platform.Equals(Constants.YouTube)) { await _statisticsManager.AddToYouTubeAlertCount(); await _alertManager.LogAlert(Constants.YouTube, message.GuildId); } else if (message.Platform.Equals(Constants.Mobcrush)) { await _statisticsManager.AddToMobcrushAlertCount(); await _alertManager.LogAlert(Constants.Mobcrush, message.GuildId); } } catch (Exception ex) { Logging.LogError("Send Message Error: " + ex.Message + " in server " + message.GuildId); } } } return(channelMessages); }