public static async Task SendMessageToOwner(string message) { if (Config.ForwardMessages && OwnerPrivateChannels.Any()) { if (Config.ForwardToAllOwners) { OwnerPrivateChannels.ForEach(async c => { try { await c.SendMessage(message).ConfigureAwait(false); } catch { } }); } else { var c = OwnerPrivateChannels.FirstOrDefault(); if (c != null) { await c.SendMessage(message).ConfigureAwait(false); } } } }
private static async void Client_MessageReceived(object sender, MessageEventArgs e) { try { if (e.Server != null || e.User.Id == Client.CurrentUser.Id) { return; } if (PollCommand.ActivePolls.SelectMany(kvp => kvp.Key.Users.Select(u => u.Id)).Contains(e.User.Id)) { return; } if (ConfigHandler.IsBlackListed(e)) { return; } if (Config.ForwardMessages && !MidnightBot.Creds.OwnerIds.Contains(e.User.Id) && OwnerPrivateChannels.Any()) { await SendMessageToOwner(e.User + ": ```\n" + e.Message.Text + "\n```").ConfigureAwait(false); } if (repliedRecently) { return; } repliedRecently = true; if (e.Message.RawText != MidnightBot.Config.CommandPrefixes.Help + "h") { await e.Channel.SendMessage(HelpCommand.DMHelpString).ConfigureAwait(false); } await Task.Delay(2000).ConfigureAwait(false); repliedRecently = false; } catch { } }