Example #1
0
        private async void UserJoined(object sender, Discord.UserEventArgs e)
        {
            try {
                if (!AnnouncementsDictionary.ContainsKey(e.Server.Id) ||
                    !AnnouncementsDictionary[e.Server.Id].Greet)
                {
                    return;
                }

                var controls = AnnouncementsDictionary[e.Server.Id];
                var channel  = NadekoBot.Client.GetChannel(controls.GreetChannel);

                var msg = controls.GreetText.Replace("%user%", e.User.Mention).Trim();
                if (string.IsNullOrEmpty(msg))
                {
                    return;
                }
                if (controls.GreetPM)
                {
                    Greeted++;
                    await e.User.SendMessage($"`Welcome Message From {e.Server.Name}`\n" + msg);
                }
                else
                {
                    if (channel == null)
                    {
                        return;
                    }
                    Greeted++;
                    await channel.Send(msg);
                }
            }
            catch { }
        }
        private async void UserLeft(object sender, UserEventArgs e) {
            if (!AnnouncementsDictionary.ContainsKey(e.Server.Id) ||
                !AnnouncementsDictionary[e.Server.Id].Bye) return;

            var controls = AnnouncementsDictionary[e.Server.Id];
            var channel = NadekoBot.client.GetChannel(controls.ByeChannel);
            if (channel == null) return;

            await channel.Send(controls.ByeText.Replace("%user%", e.User.Mention));
        }
Example #3
0
 private async void UsrBanned(object sender, UserEventArgs e)
 {
     try
     {
         Channel ch;
         if (!logs.TryGetValue(e.Server, out ch))
             return;
         await ch.SendMessage($"`User banned:` **{e.User.Name}** ({e.User.Id})");
     }
     catch { }
 }
Example #4
0
        private async void UserLeft(object sender, UserEventArgs e) {
            if (!AnnouncementsDictionary.ContainsKey(e.Server.Id) ||
                !AnnouncementsDictionary[e.Server.Id].Bye) return;

            var controls = AnnouncementsDictionary[e.Server.Id];
            var channel = NadekoBot.client.GetChannel(controls.ByeChannel);
            if (channel == null) return;
            var msg = controls.ByeText.Replace("%user%", "**"+e.User.Name+"**").Trim();
            if (string.IsNullOrEmpty(msg))
                return;
            Greeted++;
            await channel.Send(msg);
        }
Example #5
0
        private async void UserJoined(object sender, Discord.UserEventArgs e)
        {
            try
            {
                if (!AnnouncementsDictionary.ContainsKey(e.Server.Id) ||
                    !AnnouncementsDictionary[e.Server.Id].Greet)
                {
                    return;
                }

                var controls = AnnouncementsDictionary[e.Server.Id];
                var channel  = MidnightBot.Client.GetChannel(controls.GreetChannel);

                var msg = controls.GreetText.Replace("%user%", e.User.Mention).Trim();
                msg = msg.Replace("%name%", e.User.Name);
                if (string.IsNullOrEmpty(msg))
                {
                    return;
                }
                if (controls.GreetPM)
                {
                    Greeted++;
                    await e.User.SendMessage($"`Willkommensnachricht von {e.Server.Name}`\n" + msg).ConfigureAwait(false);
                }
                else
                {
                    if (channel == null)
                    {
                        return;
                    }
                    Greeted++;
                    var toDelete = await channel.SendMessage(msg).ConfigureAwait(false);

                    if (e.Server.CurrentUser.GetPermissions(channel).ManageMessages&& controls.DeleteGreetMessages)
                    {
                        await Task.Delay(30000).ConfigureAwait(false);   // 5 minutes

                        await toDelete.Delete().ConfigureAwait(false);
                    }
                }
            }
            catch { }
        }
        private async void UserLeft(object sender, UserEventArgs e)
        {
            try
            {
                if (!AnnouncementsDictionary.ContainsKey(e.Server.Id) ||
                    !AnnouncementsDictionary[e.Server.Id].Bye) return;

                var controls = AnnouncementsDictionary[e.Server.Id];
                var channel = NadekoBot.Client.GetChannel(controls.ByeChannel);
                var msg = controls.ByeText.Replace("%user%", "**" + e.User.Name + "**").Trim();
                if (string.IsNullOrEmpty(msg))
                    return;

                if (controls.ByePM)
                {
                    Greeted++;
                    try
                    {
                        await e.User.SendMessage($"`Farewell Message From {e.Server?.Name}`\n" + msg);

                    }
                    catch { }
                }
                else
                {
                    if (channel == null) return;
                    Greeted++;
                    var toDelete = await channel.SendMessage(msg);
                    if (e.Server.CurrentUser.GetPermissions(channel).ManageMessages)
                    {
                        await Task.Delay(300000); // 5 minutes
                        await toDelete.Delete();
                    }
                }
            }
            catch { }
        }
Example #7
0
        private void Client_UserLeft(object sender, UserEventArgs e) {
            if (e.Server != leaveServer) return;
            try {
                announceLeaveChannel?.Send(announceLeaveMsg.Replace("%user%", e.User.Mention));
            } catch (Exception) {
                Console.WriteLine("Failed sending leave message to the specified channel.");
            }

        }
Example #8
0
        private void Client_UserJoined(object sender, UserEventArgs e) {
            if (e.Server != joinServer) return;
            try {
                announceChannel?.Send(announceMsg.Replace("%user%", e.User.Mention));
            } catch (Exception) {
                Console.WriteLine("Failed sending greet message to the specified channel");
            }

        }
Example #9
0
 public async void _client_UserJoined(object s, UserEventArgs e)
 {
     await e.User.SendMessage($"Welcome {e.User.Name} to the Ethereal Bot Discord Server!" + Environment.NewLine +
                              $"Please check out {e.Server.GetChannel(_config.Channels["announcements"]).Mention} and " +
                              $"{e.Server.GetChannel(_config.Channels["readme"]).Mention}");
 }
 /**
  * Discord Section
  */
 private void Client_UserLeft(object sender, UserEventArgs e)
 {
     if(e.Server.Id == Options.DiscordOptions.DiscordServerID)
     {
         SendMessageAfterDelay(Options.DiscordOptions.SteamChat, string.Format("{0} has left Discord", e.User.Name), true);
     }
 }
Example #11
0
 private void User_Joined(object sender, UserEventArgs e)
 {
     if (Properties.Settings.Default.SilentMode.ToString() != "true")
     {
         if (xmlprovider == null)
         {
             xmlprovider = new XMLProvider();
         }
         #region whisperstatsonjoin
         NormalisedUser normaliseduser = new NormalisedUser();
         normaliseduser.orig_username = e.User.Name;
         IEnumerable<DataFiles.User> joineduser = LUserList.Where(x => x.isUser(normaliseduser.normalised_username()));
         if (joineduser.Count() > 0)
         {
             Tuple<DateTime, int> VisitData = joineduser.First().visit();
             string visitstring = "";
             switch (VisitData.Item2)
             {
                 case 1: visitstring = VisitData.Item2 + "st"; break;
                 case 2: visitstring = VisitData.Item2 + "nd"; break;
                 case 3: visitstring = VisitData.Item2 + "rd"; break;
                 default: visitstring = VisitData.Item2 + "th"; break;
             }
             String days_since_last_visit = DateTime.Now.Subtract(Convert.ToDateTime(VisitData.Item1)).ToString("d' days 'h':'mm':'ss");
             String output = "This is " + normaliseduser.normalised_username() + "'s " + visitstring + " visit. Their last visit was on " + VisitData.Item1.ToString("dd-MM-yyyy HH:mm:ss") + " (" + days_since_last_visit + " ago)";
             bot.Servers.First().AllChannels.Where(x => x.Name == "botspam").First().SendMessage(output);
         }
         else
         {
             String output = "This is " + normaliseduser.normalised_username() + "'s first visit.";
             bot.Servers.First().AllChannels.Where(x => x.Name == "botspam").First().SendMessage(output);
             DataFiles.User newUser = new DataFiles.User();
             XDocument Streams = XDocument.Load(Directory.GetCurrentDirectory() + "/XML/Streams.xml");
             IEnumerable<XElement> streamchildren = from streams in Streams.Root.Elements() select streams;
             foreach (var stream in streamchildren)
             {
                 newUser.addStream(stream.Attribute("Channel").Value, true);
             }
             newUser.Name = normaliseduser.normalised_username();
             newUser.bIsLoggingOp = false;
             newUser.password = "";
             newUser.bMessages = false;
             newUser.visit();
             LUserList.Add(newUser);
             // TODO: Suscribe to all streams;
         }
         #endregion
         SaveUserList();
         foreach (string streamname in xmlprovider.OnlineStreamList())
         {
             string _streamname = streamname.Replace(",", "");
             DataFiles.User user = getUser(normaliseduser.normalised_username().ToLower());
             if (user != null)
                 if (user.isSubscribed(_streamname))
                 {
                     e.User.SendMessage(String.Format(
                                                 "Stream running: _{0}_ ({1}) at {2}",
                                                 _streamname,
                                                 xmlprovider.StreamInfo(_streamname, "game"),
                                                 xmlprovider.StreamInfo(_streamname, "URL")
                                                 ));
                 }
         }
         normaliseduser = null;
     }
 }
Example #12
0
		private void UserJoined(object sender, UserEventArgs e)
		{
			e.Server.DefaultChannel.SendMessage($"Welcome {e.User.Name}");
		}
Example #13
0
 private static void UserJoined(object sender, UserEventArgs e)
 {
     client.SendMessage(e.Server.DefaultChannel, $"Welcome to {e.Server.Name}, <@{e.User.Id}>!");
 }