Exemplo n.º 1
0
        //password from twitchapps.com/tmi
        static void Main(string[] args)
        {
            var irc = new IrcClient("irc.twitch.tv",6667, "cogwheelbot", "oauth:ffiiryof5w501xlz43qbk75k9xcmv1");
            irc.JoinRoom("faddei");
            var stopWatch = Stopwatch.StartNew();
            while (true)
            {
                string message = irc.ReadMessage();
                if(!string.IsNullOrEmpty(message)) {
                    Console.WriteLine(message);
                    if (message.ToLower().Contains("!hallo"))
                    {
                        irc.SendChatMessage("Testing Testing");
                    }
                    if (message.ToLower().Contains("!add"))
                    {
                        string[] html = message.Split('!');
                        Console.WriteLine("open link: "+html[1].Substring(4));
                        System.Diagnostics.Process.Start(html[1].Substring(4));
                    }
                    if (message.ToLower().Contains("!uptime"))
                    {
                        DateTime time = new DateTime(stopWatch.ElapsedTicks);
                        string uptime = time.ToString("HH:mm:ss");
                        irc.SendChatMessage(time.Hour+ " hours "+ time.Minute + " mins");
                        irc.SendChatMessage(uptime);
                    }
                }

            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            IrcClient client = new IrcClient("irc.twitch.tv", 6667, "mybot", "mypassword", "mychannel");

            var pinger = new Pinger(client);

            pinger.Start();

            while (true)
            {
                Console.WriteLine("Reading message");
                var message = client.ReadMessage();
                Console.WriteLine($"Message: {message}");
            }
        }
Exemplo n.º 3
0
        private void CheckChat()
        {
            var paused = false;

            while (true)
            {
                var message = irc.ReadMessage();
                if (message != null)
                {
                    var localMessage = message;
                    Dispatcher.Invoke(() => recieveChat.Text += localMessage + "\n");
                    Dispatcher.Invoke(() => scroll.ScrollToBottom());


                    if (message.Contains("PING"))
                    {
                        irc.Pong();
                    }
                    if (message.Contains("!Pause"))
                    {
                        paused = true;
                    }
                    while (paused)
                    {
                        var pausedMessage = irc.ReadMessage();
                        if (pausedMessage.Contains("PING"))
                        {
                            irc.Pong();
                        }
                        if (pausedMessage.Contains("!Pause"))
                        {
                            paused = false;
                        }
                        Thread.Sleep(100);
                    }


                    if (message.Contains("!Info"))
                    {
                        infoAllowed = !infoAllowed;
                    }
                    if (message.Contains("!Load"))
                    {
                        bot.LoadNames(message);
                    }
                    if (message.Contains("!Save"))
                    {
                        bot.SaveNames(message);
                    }
                    if (message.Contains("!Random"))
                    {
                        bot.Random(message);
                    }

                    if (message.Contains("!Remove ") &&
                        !message.Contains("Vip"))
                    {
                        bot.Remove(message);
                    }

                    if (message.Contains("!Remove") &&
                        message.Contains("Vip "))
                    {
                        bot.RemoveVip(message);
                    }

                    if (message.Contains("!Hello"))
                    {
                        bot.GreetUser(message);
                    }
                    if (message.Contains("!RickRoll"))
                    {
                        bot.RickRoll(message);
                    }
                    if (message.Contains("!Strippers"))
                    {
                        bot.Strippers(message);
                    }
                    if (message.Contains("!Trials"))
                    {
                        bot.Trials(message);
                    }
                    if (message.Contains("!Vip "))
                    {
                        bot.Vip(message);
                    }
                    if (message.Contains("!Donate"))
                    {
                        bot.Donate();
                    }
                    if (message.Contains("!Slots"))
                    {
                        bot.Spin(message);
                    }
                    if (message.Contains("!Score"))
                    {
                        bot.ListScore(message);
                    }

                    if (message.Contains("!Commands") ||
                        message.Contains("!commands"))
                    {
                        bot.Commands();
                    }

                    if (message.Contains("!List") &&
                        !message.Contains("Vip") &&
                        !message.Contains("Vip"))
                    {
                        bot.List();
                    }

                    if ((message.Contains("!List") && message.Contains("Vip")) ||
                        message.Contains("!VipList") ||
                        message.Contains("!VIPList") ||
                        message.Contains("!ListVip"))
                    {
                        bot.ListVip();
                    }
                }
                Thread.Sleep(40);
            }
            // ReSharper disable once FunctionNeverReturns
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            //Survey survey = new Survey();
            // Initialize and connect to Twitch chat
            IrcClient irc = new IrcClient("irc.chat.twitch.tv", 6667,
                                          _botName, _twitchOAuth, _broadcasterName);

            // Ping to the server to make sure this bot stays connected to the chat
            // Server will respond back to this bot with a PONG (without quotes):
            // Example: ":tmi.twitch.tv PONG tmi.twitch.tv :irc.twitch.tv"
            PingSender ping = new PingSender(irc);

            ping.Start();

            // Listen to the chat until program exits
            while (true)
            {
                if (survey.IsActive && survey.End < DateTime.Now)
                {
                    irc.SendPublicChatMessage(survey.ReportResults());
                }

                // Read any message from the chat room
                string message = irc.ReadMessage();
                Console.WriteLine(message); // Print raw irc messages

                if (message.Contains("PRIVMSG"))
                {
                    // Messages from the users will look something like this (without quotes):
                    // Format: ":[user]![user]@[user].tmi.twitch.tv PRIVMSG #[channel] :[message]"

                    // Modify message to only retrieve user and message
                    int    intIndexParseSign = message.IndexOf('!');
                    string userName          = message.Substring(1, intIndexParseSign - 1); // parse username from specific section (without quotes)
                                                                                            // Format: ":[user]!"
                                                                                            // Get user's message
                    intIndexParseSign = message.IndexOf(" :");
                    message           = message.Substring(intIndexParseSign + 2).Trim();

                    Console.WriteLine(message); // Print parsed irc message (debugging only)



                    // Broadcaster commands
                    if (userName.Equals(_broadcasterName))
                    {
                        if (message.Equals("!exitbot"))
                        {
                            irc.SendPublicChatMessage("Bye! Have a beautiful time!");
                            Environment.Exit(0); // Stop the program
                        }
                        if (message.Contains("!umfrage ") || message.Contains("!Umfrage "))
                        {
                            if (message.Contains("--s"))
                            {
                                irc.SendPublicChatMessage(survey.ReportResults());
                            }
                            else
                            {
                                surveyEndOffset = 2;
                                if (message.Contains("--t "))
                                {
                                    surveyEndOffset = Int32.Parse(message.Substring(message.LastIndexOf(' ') + 1));
                                }

                                survey = new SurveyCommand()
                                {
                                    Title         = message.Substring(message.IndexOf(' ') + 1),
                                    AnsweredMaybe = 0,
                                    AnsweredNo    = 0,
                                    AnsweredYes   = 0,
                                    Start         = DateTime.Now,
                                    End           = DateTime.Now.AddMinutes(surveyEndOffset),
                                    IsActive      = true,
                                    Participants  = new List <string>()
                                };

                                irc.SendPublicChatMessage(survey.GetSurveyStartedMessage());
                            }
                        }
                    }
                    else
                    {
                        // General commands anyone can use
                        if (survey.IsActive)
                        {
                            if (!survey.Participants.Contains(userName))
                            {
                                if (message.ToLower().Equals("+"))
                                {
                                    survey.AnsweredYes += 1;
                                    survey.Participants.Add(userName);
                                }
                                if (message.ToLower().Equals("-"))
                                {
                                    survey.AnsweredNo += 1;
                                    survey.Participants.Add(userName);
                                }
                                if (message.ToLower().Equals("+-") || message.ToLower().Equals("+/-"))
                                {
                                    survey.AnsweredMaybe += 1;
                                    survey.Participants.Add(userName);
                                }
                            }
                            else
                            {
                                irc.SendPublicChatMessage($"/w {userName} Du kannst nur ein mal pro Umfrage abstimmen. Die aktuelle Umfrage läuft noch bis {survey.End.ToString("hh:mm:ss")}");
                            }
                        }
                        if (message.Equals("!hello"))
                        {
                            irc.SendPublicChatMessage("Hello World!");
                        }
                    }
                }
            }
        }