Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using System.Net;
- using System.Net.Sockets;
- using System.IO;
- using System.Threading;
- using System.Text.RegularExpressions;
- using System.Runtime.InteropServices;
- using System.Media;
- using System.Diagnostics;
- namespace TwitchBot
- {
- public partial class Form1 : Form
- {
- #region Variables
- private static string Username = "RoyalDestinyYT";
- private static string Password = "oauth:451q6mx658srysnf3humty6j6oki7x";
- IrcClient irc = new IrcClient("irc.chat.twitch.tv", 6667, Username, Password);
- NetworkStream serverStream = default(NetworkStream);
- string readData = "";
- Thread chatThread;
- #endregion
- public Form1()
- {
- InitializeComponent();
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- irc.JoinRoom("RoyalDestinyYT");
- chatThread = new Thread(getMessage);
- chatThread.Start();
- }
- private void getMessage()
- {
- serverStream = irc.tcpClient.GetStream();
- int buffsize = 0;
- byte[] inStream = new byte[10025];
- buffsize = irc.tcpClient.ReceiveBufferSize;
- while(true)
- {
- try
- {
- readData = irc.readMessage();
- msg();
- }
- catch(Exception e)
- {
- }
- }
- }
- private void msg()
- {
- if(this.InvokeRequired) this.Invoke(new MethodInvoker(msg));
- else
- {
- chatBox.Text = chatBox.Text + readData.ToString() + Environment.NewLine;
- }
- }
- }
- class IrcClient
- {
- private string Username;
- private string Channel;
- public TcpClient tcpClient;
- private StreamReader inputStream;
- private StreamWriter outputStream;
- public IrcClient(string Ip, int Port, string Username, string Password)
- {
- tcpClient = new TcpClient(Ip, Port);
- inputStream = new StreamReader(tcpClient.GetStream());
- outputStream = new StreamWriter(tcpClient.GetStream());
- outputStream.WriteLine("PASS " + Password);
- outputStream.WriteLine("NICK " + Username);
- outputStream.WriteLine("USER " + Username + " 8 * :" + Username);
- outputStream.WriteLine("CAP REQ :twitch.tv/membership");
- outputStream.WriteLine("CAP REQ :twitch.tv/commands");
- outputStream.Flush();
- }
- public void JoinRoom(string Channel)
- {
- this.Channel = Channel;
- outputStream.WriteLine("JOIN #" + Channel);
- outputStream.Flush();
- }
- public void LeaveRoom()
- {
- outputStream.Close();
- inputStream.Close();
- }
- public void sendIrcMessage(string Message)
- {
- outputStream.WriteLine(Message);
- outputStream.Flush();
- }
- public void sendChatMessage(string Message)
- {
- sendIrcMessage(":" + Username + "!" + Username + "@" + Username + ".tmi.twitch.tv PRIVMSG #" + Channel + " :" + Message);
- }
- public void PingResponse()
- {
- sendIrcMessage("PONG tmi.twitch.tv\r\n");
- }
- public string readMessage()
- {
- string Message = "";
- Message = inputStream.ReadLine();
- return Message;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement