Beispiel #1
0
 public TabPage CreateTabPage(Room room)
 {
     TabPage page = new TabPage ();
     page.Text = "Group: " + room.ID;
     ChatControl cht = new ChatControl ();
     cht.Dock = DockStyle.Fill;
     cht.Room = room;
     page.Controls.Add (cht);
     return page;
 }
Beispiel #2
0
 public TabPage CreateTabPage(Room room)
 {
     if (pages.ContainsKey (room.ID)) {
         return pages [room.ID];
     }
     pages.Add (room.ID, new TabPage ());
     TabPage page = pages[room.ID];
     page.Text = "Group: " + room.ID;
     ChatControl cht = new ChatControl ();
     cht.Dock = DockStyle.Fill;
     cht.Room = room;
     page.Controls.Add (cht);
     return page;
 }
Beispiel #3
0
        static void Room_UserStateChanged(Room room, User user, LiveCodingChat.Xmpp.UserState state)
        {
            if (state == LiveCodingChat.Xmpp.UserState.Available)
            {
                userCount++;
            }
            else
            {
                userCount--;
            }
            if (!isStarted)
                return;
            if (user.ID == chatRoom.Client.Nick)
                return;
            if (state == LiveCodingChat.Xmpp.UserState.Available)
            {
                System.Timers.Timer tmr = new System.Timers.Timer();
                tmr.Interval = 20000;
                tmr.Elapsed +=delegate {
                    if (welcomeUser.Count != 0)
                        for (int i = 0; i < welcomeUser.Count; i++)
                            if (Convert.ToInt32(welcomeUser[i].Remove(0, welcomeUser[i].Length - 3)) <= stopWatch.Elapsed.Minutes - timeToSayHelloAgainInMinutes)
                                welcomeUser.Remove(welcomeUser[i]);

                    if (!welcomeUser.Exists(t => t.Substring(0, t.Length - 3) == user.ID.ToLower()))
                    {
                        room.SendMessage("Willkommen @" + user.ID + ".Ich bin Adam der Bot dieses Streams. Sprich mich an, wenn du Infos zum Stream brauchst");
                        welcomeUser.Add(user.ID.ToLower() + stopWatch.Elapsed.Minutes.ToString("000"));
                    }

                    if (userCount % 10 == 0)
                    {
                        room.SendMessage("@" + user.ID + " ist der " + userCount + " besucher dieses Streams :hi:");
                    }
                    tmr.Stop();
                };
                tmr.Start();
            }
        }
Beispiel #4
0
        static void Room_UserStateChanged(Room room, User user, LiveCodingChat.Xmpp.UserState state)
        {
            if (user.ID == session.Username)
                return;
            if (state == LiveCodingChat.Xmpp.UserState.Available)
            {
                System.Timers.Timer tmr = new System.Timers.Timer();
                tmr.Interval = 20000;
                tmr.Elapsed +=delegate {

                    room.SendMessage("Willkommen @" + user.ID + ".Ich bin Adam der Bot dieses Streams. Sprich mich an, wenn du Infos zum Stream brauchst");
                    userCount++;
                    if (userCount % 3 == 0)
                    {
                        room.SendMessage("@" + user.ID + " ist der " + userCount + " besucher dieses Streams :hi:");
                    }
                    tmr.Stop();
                };
                tmr.Start();
            }
            else
            {
                userCount--;
            }
        }
Beispiel #5
0
        static void Room_Client_MessageReceived(LiveCodingChat.Xmpp.Room room, LiveCodingChat.Xmpp.MessageReceivedEventArgs e)
        {
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.WriteLine(e.Nick + ": " + e.Message);
            Console.ForegroundColor = ConsoleColor.White;

            if (!isStarted)
            {
                return;
            }
            if (e.User == null)
            {
                return;
            }
            string fnd = e.Message.ToLower();

            System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex("NE[E]*I[I]*N TO[O]*M NE[E]*I[I]*N");
            if (fnd.Contains("@tom") || fnd.Contains("@bobstriker") || r.IsMatch(fnd.ToUpper()))
            {
                if (player == null)
                {
                    System.Media.SystemSounds.Exclamation.Play();
                }
                else
                {
                    player.Play();
                }
            }

            if (e.User.ID == chatRoom.Client.Nick || e.User.ID == "octobot")//TODO email->nick/username
            {
                return;
            }
            if (fnd.Contains(chatRoom.Client.Nick) || fnd.Contains("adam"))
            {
                room.SendMessage("@" + e.Nick + ": Hier wird OctoAwesome entwickelt. Mehr Infos unter http://www.octoawesome.net");
            }
            if (e.Nick == "jvbsl" || e.User.Staff || e.User.Role == "moderator")
            {
                if (fnd.StartsWith("/strawpoll "))
                {
                    string[]  args    = e.Message.Substring("/strawpoll ".Length).Split(',');
                    Strawpoll poll    = new Strawpoll(args);
                    string    pollRes = poll.CreatePoll();
                    if (pollRes != null)
                    {
                        room.SendMessage("Neuer Poll - " + args[0] + ": " + pollRes);
                    }
                }
            }
            if (fnd.Contains("kopfoderzahl?"))
            {
                byte b = Convert.ToByte(rnd.Next(0, 2));
                switch (b)
                {
                case 0:
                    room.SendMessage("@" + e.Nick + " Kopf");
                    break;

                case 1:
                    room.SendMessage("@" + e.Nick + " Zahl");
                    break;
                }
            }
        }