Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 19.51 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Net.Sockets;
  7. using System.IO;
  8. using System.Collections;
  9. using System.Windows.Forms;
  10.  
  11. namespace TwitchBot
  12. {
  13.     class IRC
  14.     {
  15.         public IRC()
  16.         {
  17.             ReadIRC("PxlFunBot", "oauth:crz9f3ersdxswnhcosopoyii5ttz5d", "PxlFunBot", "pxlfun_eu");
  18.         }
  19.         private void ReadIRC(string User, string Password, string Nick, string Chanel)
  20.         {
  21.  
  22.  
  23.  
  24.  
  25.             Random rnd = new Random();
  26.             List<string> Usernamen = new List<string>();
  27.             List<string> GW = new List<string>();
  28.             List<string> permit = new List<string>();
  29.             List<string> mods = new List<string>();
  30.             List<string> Giveawayopen = new List<string>();
  31.             List<string> Winners = new List<string>();
  32.             List<string> betwin = new List<string>();
  33.             List<string> betlose = new List<string>();
  34.             List<string> betdraw = new List<string>();
  35.             List<string> betopen = new List<string>();
  36.  
  37.             TcpClient Client = new TcpClient("irc.twitch.tv", 6667);
  38.             NetworkStream Stream = Client.GetStream();
  39.  
  40.             StreamReader Reader = new StreamReader(Stream);
  41.             StreamWriter Writer = new StreamWriter(Stream);
  42.  
  43.             Writer.WriteLine("USER " + User);
  44.             Writer.Flush();
  45.             Writer.WriteLine("PASS " + Password);
  46.             Writer.Flush();
  47.             Writer.WriteLine("NICK " + Nick);
  48.             Writer.Flush();
  49.             Writer.WriteLine("JOIN #" + Chanel);
  50.             Writer.Flush();
  51.  
  52.             while (true)
  53.             {
  54.                 string Data = null;
  55.                 if (Stream.DataAvailable)
  56.                 {
  57.  
  58.                     Data = Reader.ReadLine();
  59.  
  60.                     if (Data != null)
  61.                     {
  62.                        
  63.                         Console.WriteLine(Data);
  64.                         Writer.Flush();
  65.                     }
  66.                     try
  67.                     {
  68.                        
  69.                        
  70.  
  71.                         String UserMessage = Data.Split(new string[] { "PRIVMSG #" + Chanel.ToLower() + " :" }, StringSplitOptions.None)[1];
  72.                         String Username = Data.Split(':')[1].Split('!')[0];
  73.  
  74.                         String remove = Data.Split(new string[] { "PRIVMSG #" + Chanel.ToLower() + " :!remove" }, StringSplitOptions.None)[1];
  75.  
  76.                         if (UserMessage.Equals("!join") | UserMessage.Equals("!Join"))
  77.                         {
  78.                             if (Usernamen.Contains(Username))
  79.                             {
  80.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " du befindest dich berits auf der Liste");
  81.                                 Writer.Flush();
  82.  
  83.  
  84.                             }
  85.                             else
  86.                             {
  87.                                 Usernamen.Add(Username);
  88.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " du bist der Liste auf Platz " + Usernamen.Count + " beigetreten.");
  89.                                 Writer.Flush();
  90.                                 File.WriteAllLines(@"C:\Stream\mitspieler.txt", Usernamen);
  91.                             }
  92.                         }
  93.  
  94.  
  95.                         if (UserMessage.Equals("!unjoin") | UserMessage.Equals("!Unjoin"))
  96.                         {
  97.                             if (!Usernamen.Contains(Username))
  98.                             {
  99.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " du befindest dich nicht auf der Liste");
  100.                                 Writer.Flush();
  101.  
  102.  
  103.                             }
  104.                             else
  105.                             {
  106.                                 Usernamen.Remove(Username);
  107.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " du wurdest von der Liste gelöscht.");
  108.                                 Writer.Flush();
  109.                                 File.WriteAllLines(@"C:\Stream\mitspieler.txt", Usernamen);
  110.  
  111.                             }
  112.  
  113.                         }
  114.  
  115.                         if (UserMessage.Equals("!list") | UserMessage.Equals("!List"))
  116.                         {
  117.                             if (!Usernamen.Contains(Username))
  118.                             {
  119.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " du befindest dich nicht auf der Liste.");
  120.                                 Writer.Flush();
  121.  
  122.  
  123.                             }
  124.                             else
  125.                             {
  126.                                 int posmax = Usernamen.Count();
  127.  
  128.                                 int pos = Usernamen.IndexOf(Username) + 1;
  129.  
  130.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " du bist auf Platz " + pos + " von " + posmax + " auf der Liste.");
  131.                                 Writer.Flush();
  132.                                 File.WriteAllLines(@"C:\Stream\mitspieler.txt", Usernamen);
  133.  
  134.                             }
  135.  
  136.  
  137.                         }
  138.  
  139.  
  140.                         if (UserMessage.Equals("!remove"))
  141.                         {
  142.                             if (Username.Equals(Chanel) | Username.Equals("hoffihoffi"))
  143.                             {
  144.                                 if (remove.Equals("1"))
  145.                                 {
  146.                                     Usernamen.RemoveAt(0);
  147.                                 }
  148.                                 else if (remove.Equals("2"))
  149.                                 {
  150.                                     Usernamen.RemoveAt(0);
  151.                                     Usernamen.RemoveAt(1);
  152.                                 }
  153.                                 else if (remove.Equals("3"))
  154.                                 {
  155.                                     Usernamen.RemoveAt(0);
  156.                                     Usernamen.RemoveAt(1);
  157.                                     Usernamen.RemoveAt(2);
  158.                                 }
  159.                                 else if (remove.Equals("4"))
  160.                                 {
  161.                                     Usernamen.RemoveAt(0);
  162.                                     Usernamen.RemoveAt(1);
  163.                                     Usernamen.RemoveAt(2);
  164.                                     Usernamen.RemoveAt(3);
  165.                                 }
  166.  
  167.                             }
  168.                             else
  169.                             {
  170.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " Du hast keine Rechte um die liste zu clearen.");
  171.                                 Writer.Flush();
  172.                             }
  173.  
  174.  
  175.                         }
  176.                         if (UserMessage.Equals("!commands") | UserMessage.Equals("!cmd"))
  177.                         {
  178.                             Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " Die Commands: !ts !join !unjoin !list !track !bot !buyticket");
  179.                             Writer.Flush();
  180.                         }
  181.                         if (UserMessage.Equals("!viewerlove"))
  182.                         {
  183.                             Writer.WriteLine("PRIVMSG #" + Chanel + " :" + "<3 <3 ViewerLove <3 <3");
  184.                             Writer.Flush();
  185.                         }
  186.                         if (UserMessage.Equals("!pxlfunlove"))
  187.                         {
  188.                             Writer.WriteLine("PRIVMSG #" + Chanel + " :" + "<3 <3 PxlFunLove <3 <3");
  189.                             Writer.Flush();
  190.                         }
  191.  
  192.                         // ANTi Werbung - Spam
  193.                         if (UserMessage.Contains(".de") | UserMessage.Contains(".eu") | UserMessage.Contains(".at") | UserMessage.Contains(".com") | UserMessage.Contains(".net") | UserMessage.Contains(".tv"))
  194.                         {
  195.                             if (Username.Equals("hoffihoffi") | Username.Equals(Chanel) | permit.Contains(Username) | Username.Equals("pxlfunbot"))
  196.                             {
  197.  
  198.                             }
  199.                             else
  200.                             {
  201.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + "/timeout " + Username + " 1");
  202.                                 Writer.Flush();
  203.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " was fällt dir ein Werbung/Spam zu machen frag um einen !permit.");
  204.                                 Writer.Flush();
  205.                             }
  206.                         }
  207.  
  208.                         //Giveaway --  System
  209.  
  210.  
  211.                         if (UserMessage.Equals("!buyticket"))
  212.                         {
  213.  
  214.                             if (Giveawayopen.Contains("yes"))
  215.                             {
  216.                                 if (GW.Contains(Username))
  217.                                 {
  218.                                     Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " du hast bereits ticket gekauft.");
  219.                                     Writer.Flush();
  220.                                 }
  221.                                 else
  222.                                 {
  223.                                     GW.Add(Username);
  224.  
  225.                                     Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " du hast ein ticket gekauft.");
  226.                                     Writer.Flush();
  227.                                 }
  228.                             }
  229.                             else
  230.                             {
  231.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " es ist kein giveaway offen");
  232.                                 Writer.Flush();
  233.                             }
  234.  
  235.  
  236.  
  237.                         }
  238.                         if (UserMessage.Equals("!giveawayopen"))
  239.                         {
  240.                             if (Username.Equals(Chanel) | Username.Equals("hoffihoffi"))
  241.                             {
  242.                                 Giveawayopen.Clear();
  243.                                 Giveawayopen.Add("yes");
  244.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + "Es wurde ein Giveaway geöffnet.");
  245.                                 Writer.Flush();
  246.                             }
  247.                         }
  248.                         if (UserMessage.Equals("!giveawayclose"))
  249.                         {
  250.                             if (Username.Equals(Chanel) | Username.Equals("hoffihoffi"))
  251.                             {
  252.                                 Giveawayopen.Clear();
  253.                                 Giveawayopen.Add("no");
  254.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + "Es wurde das giveaway gescholossen.");
  255.                                 Writer.Flush();
  256.                             }
  257.                         }
  258.  
  259.  
  260.                         if (UserMessage.Equals("!roll"))
  261.                         {
  262.                             if (Username.Equals("hoffihoffi") | Username.Equals(Chanel))
  263.                             {
  264.                                 Random r = new Random();
  265.                                 int index = r.Next(0, GW.Count);
  266.                                 String Winner = GW[index];
  267.  
  268.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + "Gewonnen hat: " + Winner + ". Es haben " + GW.Count + " mitgemacht.");
  269.                                 Writer.Flush();
  270.  
  271.                                 Winners.Add(Winner);
  272.  
  273.                                 GW.Clear();
  274.  
  275.  
  276.  
  277.                             }
  278.                         }
  279.  
  280.                         if (UserMessage.Equals("!redeem"))
  281.                         {
  282.                             if (Winners.Contains(Username))
  283.                             {
  284.  
  285.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + ", hat das Giveaway entgegen genomman.");
  286.                                 Writer.Flush();
  287.  
  288.                                 Winners.Clear();
  289.  
  290.                             }
  291.                         }
  292.  
  293.  
  294.  
  295.                         if (UserMessage.Equals("!inlist"))
  296.                         {
  297.                             Writer.WriteLine("PRIVMSG #" + Chanel + " :" + GW.Count);
  298.                             Writer.Flush();
  299.                         }
  300.  
  301.  
  302.                         // Token System
  303.                         if (UserMessage.Equals("!tokens"))
  304.                         {
  305.                             Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " das Tokensystem ist gerade in arbeit.");
  306.                             Writer.Flush();
  307.                         }
  308.                         if (UserMessage.Equals("!automessage"))
  309.                         {
  310.                             if (Username.Equals("hoffihoffi") | Username.Equals("pxlfun_eu"))
  311.                             {
  312.  
  313.                                 while (true)
  314.                                 {
  315.                                     Writer.WriteLine("PRIVMSG #" + Chanel + " :" + "Du willst mit uns Traden ? dann !trade");
  316.                                     Writer.Flush();
  317.                                     System.Threading.Thread.Sleep(5 * 60000);
  318.                                     Writer.WriteLine("PRIVMSG #" + Chanel + " :" + "Teamspeak ? dann !ts");
  319.                                     Writer.Flush();
  320.                                     System.Threading.Thread.Sleep(5 * 60000);
  321.                                     Writer.WriteLine("PRIVMSG #" + Chanel + " :" + "Viewergames ? dann !join");
  322.                                     Writer.Flush();
  323.                                     System.Threading.Thread.Sleep(5 * 60000);
  324.                                     Writer.WriteLine("PRIVMSG #" + Chanel + " :" + "Informationen zum bot ? dann !bot");
  325.                                     Writer.Flush();
  326.                                     System.Threading.Thread.Sleep(5 * 60000);
  327.                                     Writer.WriteLine("PRIVMSG #" + Chanel + " :" + "Du willst wissen wie der aktuelle song heißt ? dann !track");
  328.                                     Writer.Flush();
  329.                                 }
  330.  
  331.                             }
  332.  
  333.  
  334.                         }
  335.  
  336.                        
  337.  
  338.                         //Permit etc.
  339.                         String permitUser = Data.Split(new string[] { "PRIVMSG #" + Chanel.ToLower() + " :!permit" }, StringSplitOptions.None)[1];
  340.                         if (UserMessage.Contains("!permit"))
  341.                         {
  342.                             if (Username.Equals("hoffihoffi") | Username.Equals("pxlfun_eu"))
  343.                             {
  344.  
  345.                                 permit.Add(permitUser);
  346.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + permitUser + ", Poste deinen Link du hast 1 minute zeit.");
  347.                                 Writer.Flush();
  348.                                 System.Threading.Thread.Sleep(57000);
  349.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + permitUser + " dein permit endet in 3 Sekunden.");
  350.                                 Writer.Flush();
  351.                                 System.Threading.Thread.Sleep(1000);
  352.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + permitUser + " dein permit endet in 2 Sekunden.");
  353.                                 Writer.Flush();
  354.                                 System.Threading.Thread.Sleep(1000);
  355.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + permitUser + " dein permit endet in 1 Sekunden.");
  356.                                 Writer.Flush();
  357.                                 System.Threading.Thread.Sleep(1000);
  358.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + permitUser + " dein permit wurde entfernt");
  359.                                 Writer.Flush();
  360.                                 permit.Remove(permitUser);
  361.                             }
  362.                             else
  363.                             {
  364.                                 if (permit.Contains(permitUser))
  365.                                 {
  366.                                     Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " du hast einen permit poste deinen Link.");
  367.                                     Writer.Flush();
  368.                                 }
  369.                                 else
  370.                                 {
  371.                                     Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " du hast keinen permit ");
  372.                                     Writer.Flush();
  373.                                 }
  374.                             }
  375.                         }
  376.  
  377.                         if (UserMessage.Equals("!trade"))
  378.                         {
  379.                             Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " der Tradelink: https://steamcommunity.com/tradeoffer/new/?partner=53119184&token=J7D5md5_");
  380.                             Writer.Flush();
  381.                         }
  382.  
  383.  
  384.                         if (UserMessage.Equals("!ts") | UserMessage.Equals("!Ts") | UserMessage.Equals("!TS") | UserMessage.Equals("!Teamspeak") | UserMessage.Equals("!teamspeak"))
  385.                         {
  386.                             Writer.WriteLine("PRIVMSG #" + Chanel + " :" + "Unsere Teamspeak IP: 178.32.81.129:2024");
  387.                             Writer.Flush();
  388.                         }
  389.                         if (UserMessage.Equals("!clear"))
  390.                         {
  391.                             if (Username.Equals("hoffihoffi") | Username.Equals(Chanel))
  392.                             {
  393.                                 Usernamen.Clear();
  394.                                 File.WriteAllLines(@"C:\Stream\mitspieler.txt", Usernamen);
  395.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + "Liste gecleart");
  396.                                 Writer.Flush();
  397.                             }
  398.                             else
  399.                             {
  400.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " du hast keine Rechte um die Liste zu clearen.");
  401.                                 Writer.Flush();
  402.                             }
  403.  
  404.                         }
  405.  
  406.  
  407.  
  408.  
  409.  
  410.                         if (UserMessage.Equals("!track"))
  411.                         {
  412.                             using (StreamReader sr = new StreamReader(@"C:\Stream\nowPlaying.txt"))
  413.                             {
  414.                                 String line = sr.ReadToEnd();
  415.                                 Writer.WriteLine("PRIVMSG #" + Chanel + " :" + line);
  416.                                 Writer.Flush();
  417.                             }
  418.                         }
  419.  
  420.                        
  421.  
  422.                        
  423.                        
  424.  
  425.  
  426.                        
  427.                        
  428.  
  429.  
  430.  
  431.                         if (UserMessage.Equals("!bot"))
  432.                         {
  433.                             Writer.WriteLine("PRIVMSG #" + Chanel + " :" + Username + " Informationen zum bot: !cmd für commands und weitere infos www.develop4you.jimdo.com");
  434.                             Writer.Flush();
  435.                         }
  436.                        
  437.                     }
  438.                     catch
  439.                     {
  440. }  
  441.                    
  442.                    
  443.  
  444.                    
  445.                 }
  446.             }
  447.  
  448.         }
  449.  
  450.  
  451.     }
  452. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement