Exemplo n.º 1
0
 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);
             }
         }
     }
 }
Exemplo n.º 2
0
        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 { }
        }