Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.03 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading;
  9. using System.Threading.Tasks;
  10. using System.Windows.Forms;
  11. using System.Net;
  12. using System.Net.Sockets;
  13. using System.IO;
  14. using TwitchLib;
  15. using TwitchLib.Models.Client;
  16. using System.Data.SQLite;
  17.  
  18. namespace TwitchBot
  19. {
  20. public partial class Bot : Form
  21. {
  22. TwitchClient Client;
  23. ConnectionCredentials Credentials;
  24. string USER, PASS, CHANNEL, STATUS;
  25. List<string> Viewers = new List<string>();
  26.  
  27. public Bot()
  28. {
  29. InitializeComponent();
  30. }
  31.  
  32. void Setup()
  33. {
  34. if (!string.IsNullOrEmpty(UsernameTextBox.Text) && !string.IsNullOrEmpty(PasswordTextBox.Text) && !string.IsNullOrEmpty(ChannelTextBox.Text))
  35. {
  36. USER = UsernameTextBox.Text;
  37. PASS = PasswordTextBox.Text;
  38. CHANNEL = ChannelTextBox.Text;
  39. Credentials = new ConnectionCredentials(USER, PASS);
  40. if (Client == null) { Client = new TwitchClient(Credentials, CHANNEL, '!'); }
  41. if (!Client.IsConnected)
  42. {
  43. // Setup all event handlers
  44. Client.OnJoinedChannel += Client_OnJoinedChannel;
  45. Client.OnMessageSent += Client_OnMessageSent;
  46. Client.OnMessageReceived += Client_OnMessageReceived;
  47. // Connect the client
  48. Client.Connect();
  49. // Change status identifier
  50. STATUS = "Status: Connected...";
  51. StatusLabel.Text = STATUS;
  52. }
  53. }
  54. }
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63. void UpdateViewersText()
  64. {
  65. ViewersTextBox.Invoke((MethodInvoker)delegate
  66. {
  67. foreach (string v in Viewers)
  68. {
  69. ViewersTextBox.AppendText(v);
  70. }
  71. });
  72. }
  73.  
  74.  
  75.  
  76. private void Client_OnJoinedChannel(object sender, TwitchLib.Events.Client.OnJoinedChannelArgs e)
  77. {
  78. OutputTextBox.Invoke((MethodInvoker)delegate
  79. {
  80. OutputTextBox.Text = "Joined Twitch Chat, LordeJerry!\n";
  81. });
  82. }
  83.  
  84. private void Client_OnMessageReceived(object sender, TwitchLib.Events.Client.OnMessageReceivedArgs e)
  85. {
  86. OutputTextBox.Invoke((MethodInvoker)delegate
  87. {
  88. OutputTextBox.AppendText("[{e.ChatMessage.UserType}] {e.ChatMessage.DisplayName}: {e.ChatMessage.Message}\n");
  89. });
  90. ChatTextBox.Invoke((MethodInvoker)delegate
  91. {
  92. OutputTextBox.AppendText("[{e.ChatMessage.UserType}] {e.ChatMessage.DisplayName}: {e.ChatMessage.Message}\n");
  93. });
  94. }
  95.  
  96. private void UsernameTextBox_TextChanged(object sender, EventArgs e)
  97. {
  98.  
  99. }
  100.  
  101. private void SendChatMessageButton_Click(object sender, EventArgs e)
  102. {
  103. Client.SendMessage(SendChatMessageTextBox.Text);
  104. SendChatMessageTextBox.Text = string.Empty;
  105. }
  106.  
  107. private void Client_OnMessageSent(object sender, TwitchLib.Events.Client.OnMessageSentArgs e)
  108. {
  109. OutputTextBox.Invoke((MethodInvoker)delegate
  110. {
  111. OutputTextBox.AppendText("[{e.SentMessage.UserType}] {USER}: {e.SentMessage.Message}\n");
  112. });
  113. ChatTextBox.Invoke((MethodInvoker)delegate
  114. {
  115. ChatTextBox.AppendText("[{e.SentMessage.UserType}] {USER}: {e.SentMessage.Message}\n");
  116. });
  117. }
  118.  
  119. private void ConnectButton_Click(object sender, EventArgs e)
  120. {
  121. STATUS = "Status: Connecting...";
  122. StatusLabel.Text = STATUS;
  123. Setup();
  124. }
  125.  
  126. private void Bot_Load(object sender, EventArgs e)
  127. {
  128.  
  129. }
  130. }
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement