Advertisement
Guest User

Untitled

a guest
Nov 3rd, 2016
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 8.44 KB | None | 0 0
  1. Imports System.Net
  2. Imports System.Text.RegularExpressions
  3.  
  4.  
  5.  
  6. Public Class Form1
  7.  
  8.     Dim EmptyList As New ArrayList
  9.     Dim ChannelNames As New ArrayList
  10.     Dim ChannelGames As New ArrayList
  11.     Dim ChannelViewers As New ArrayList
  12.     Dim ChannelTitle As New ArrayList
  13.     Dim LiveChannels As New ArrayList
  14.  
  15.  
  16.     Dim username As String = My.Settings.Username
  17.     Public CheckLoading As Integer
  18.  
  19.  
  20.     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  21.         Ni.Visible = False
  22.         Dim UsernameInput As String
  23.         UsernameInput = ""
  24.         If username = "" Then
  25.             UsernameInput = InputBox("Input your Twitch.TV Username")
  26.             My.Settings.Username = UsernameInput
  27.             username = UsernameInput
  28.         End If
  29.         If username = "" Then
  30.             MessageBox.Show("No username input. Closing application")
  31.             Me.Close()
  32.         End If
  33.  
  34.     End Sub
  35.  
  36.     Private Sub LiveChannelsComboBox_SelectionChangeCommitted(sender As Object, e As EventArgs) Handles LiveChannelsComboBox.SelectionChangeCommitted
  37.         Dim result As String
  38.         Dim results As String
  39.  
  40.         result = LiveChannelsComboBox.SelectedValue
  41.         results = LiveChannels.IndexOf(result)
  42.         GameTextBox.Text = ChannelGames(results)
  43.         ViewerCountTextBox.Text = ChannelViewers(results)
  44.         TitleTextBox.Text = ChannelTitle(results)
  45.  
  46.     End Sub
  47.  
  48.     Private Sub RefreshToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles RefreshToolStripMenuItem.Click
  49.         LiveChannelLabel.Hide()
  50.         LiveChannelsComboBox.Hide()
  51.         GameLabel.Hide()
  52.         GameTextBox.Hide()
  53.         TitleTextBox.Hide()
  54.         ViewersLabel.Hide()
  55.         ViewerCountTextBox.Hide()
  56.         QualityLabel.Hide()
  57.         TitleLabel.Hide()
  58.         VLCQualityComboBox.Hide()
  59.         WebBrowserLaunchButton.Hide()
  60.         VLCLaunchButton.Hide()
  61.         LaunchChatButton.Hide()
  62.  
  63.         ChannelNames.Clear()
  64.         ChannelGames.Clear()
  65.         ChannelViewers.Clear()
  66.         LiveChannels.Clear()
  67.         LiveChannelsComboBox.DataSource = EmptyList
  68.  
  69.  
  70.         GameTextBox.Text = ""
  71.         ViewerCountTextBox.Text = ""
  72.  
  73.  
  74.         Dim url As String = "https://api.twitch.tv/kraken/users/" + username + "/follows/channels?client_id=kt1lim3ndaxcm11ntkoswmtxu9h64p1&limit=200&offset=0"
  75.         Dim client As New WebClient()
  76.         client.Headers.Add(HttpRequestHeader.Accept, "application/vnd.twitchtv.v3+json")
  77.         Dim responseJson As String = client.DownloadString(url)
  78.         Dim numbers As New List(Of String)()
  79.         Dim pattern As String = "name(.*?)created_at"
  80.         Dim pattern2 As String = "name(.*?),"
  81.         Dim NewValue As String
  82.         NewValue = ""
  83.         For Each a As Match In Regex.Matches(responseJson, pattern)
  84.             For Each b As Match In Regex.Matches(a.Groups(1).Value, pattern2)
  85.                 If Not b.Groups(1).Value.Contains(""":""") Then
  86.  
  87.                 Else
  88.                     NewValue = b.Groups(1).Value
  89.                     If NewValue.Contains("""") Then
  90.                         NewValue = NewValue.Replace("""", "")
  91.                     End If
  92.                     If NewValue.Contains(":") Then
  93.                         NewValue = NewValue.Replace(":", "")
  94.                     End If
  95.                     If NewValue.Contains(" ") Then
  96.                         NewValue = NewValue.Replace(" ", "")
  97.                     End If
  98.                     ChannelNames.Add(NewValue)
  99.                 End If
  100.  
  101.             Next
  102.  
  103.  
  104.  
  105.         Next
  106.         Dim num As String
  107.         Dim url2 As String
  108.         Dim client2 As New WebClient()
  109.         Dim Count As Integer
  110.         Dim pattern3 As String = "game(.*?),"
  111.         Dim pattern4 As String = "viewers(.*?),"
  112.         Dim pattern5 As String = "status(.*?),"
  113.  
  114.         For Each num In ChannelNames
  115.             url2 = "https://api.twitch.tv/kraken/streams/" + num + "?client_id=kt1lim3ndaxcm11ntkoswmtxu9h64p1&limit=200&offset=0"
  116.             client2.Headers.Add(HttpRequestHeader.Accept, "application/vnd.twitchtv.v3+json")
  117.             Dim responseJson2 As String = client2.DownloadString(url2)
  118.             Count = 0
  119.  
  120.             For Each b As Match In Regex.Matches(responseJson2, pattern3)
  121.                 If Count = 0 Then
  122.                     If Not b.Groups(1).Value.Contains(""":""") Then
  123.  
  124.                     Else
  125.                         NewValue = b.Groups(1).Value
  126.                         If NewValue.Contains("""") Then
  127.                             NewValue = NewValue.Replace("""", "")
  128.                         End If
  129.                         If NewValue.Contains(":") Then
  130.                             NewValue = NewValue.Replace(":", "")
  131.                         End If
  132.                         ChannelGames.Add(NewValue)
  133.                         Count = 1
  134.                     End If
  135.                 End If
  136.             Next
  137.  
  138.             For Each b As Match In Regex.Matches(responseJson2, pattern4)
  139.                 NewValue = b.Groups(1).Value
  140.                 If NewValue.Contains("""") Then
  141.                     NewValue = NewValue.Replace("""", "")
  142.                 End If
  143.                 If NewValue.Contains(":") Then
  144.                     NewValue = NewValue.Replace(":", "")
  145.                 End If
  146.                 ChannelViewers.Add(NewValue)
  147.             Next
  148.  
  149.             For Each b As Match In Regex.Matches(responseJson2, pattern5)
  150.                 NewValue = b.Groups(1).Value
  151.                 If NewValue.Contains("""") Then
  152.                     NewValue = NewValue.Replace("""", "")
  153.                 End If
  154.                 If NewValue.Contains(":") Then
  155.                     NewValue = NewValue.Replace(":", "")
  156.                 End If
  157.                 ChannelTitle.Add(NewValue)
  158.             Next
  159.  
  160.             If responseJson2.Contains("_id") Then
  161.                 LiveChannels.Add(num)
  162.             End If
  163.  
  164.         Next
  165.  
  166.  
  167.         LiveChannelsComboBox.DataSource = LiveChannels
  168.         LiveChannelLabel.Show()
  169.         LiveChannelsComboBox.Show()
  170.         GameLabel.Show()
  171.         GameTextBox.Show()
  172.         TitleTextBox.Show()
  173.         ViewersLabel.Show()
  174.         ViewerCountTextBox.Show()
  175.         QualityLabel.Show()
  176.         TitleLabel.Show()
  177.         VLCQualityComboBox.Show()
  178.         WebBrowserLaunchButton.Show()
  179.         VLCLaunchButton.Show()
  180.         LaunchChatButton.Show()
  181.  
  182.  
  183.     End Sub
  184.  
  185.     Private Sub WebBrowserLaunchButton_Click(sender As Object, e As EventArgs) Handles WebBrowserLaunchButton.Click
  186.         Dim GetStreamerName As String
  187.         GetStreamerName = LiveChannelsComboBox.SelectedItem
  188.         Dim WebSite As String
  189.         WebSite = "www.twitch.tv/" + GetStreamerName
  190.         Process.Start(WebSite)
  191.     End Sub
  192.  
  193.     Private Sub VLCLaunchButton_Click(sender As Object, e As EventArgs) Handles VLCLaunchButton.Click
  194.         Dim GetStreamerName As String
  195.         Dim GetQuality As String
  196.         GetStreamerName = LiveChannelsComboBox.SelectedItem
  197.         GetQuality = VLCQualityComboBox.SelectedItem
  198.         Dim WebSite As String
  199.         WebSite = "livestreamer www.twitch.tv/" + GetStreamerName + " " + GetQuality
  200.         Dim OpenCMD
  201.         OpenCMD = CreateObject("wscript.shell")
  202.         OpenCMD.run(WebSite)
  203.  
  204.     End Sub
  205.  
  206.     Private Sub ni_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
  207.     Handles Ni.Click
  208.  
  209.         Me.Visible = True
  210.         Me.WindowState = FormWindowState.Normal
  211.         Me.Ni.Visible = False
  212.  
  213.     End Sub
  214.  
  215.     Private Sub Form_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) _
  216.     Handles MyBase.SizeChanged
  217.  
  218.         If Me.WindowState = FormWindowState.Minimized Then
  219.             Me.WindowState = FormWindowState.Minimized
  220.             Me.Visible = False
  221.             Me.Ni.Visible = True
  222.         End If
  223.  
  224.     End Sub
  225.  
  226.     Private Sub InputUsernameToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles InputUsernameToolStripMenuItem.Click
  227.         Dim UsernameInput As String
  228.         UsernameInput = InputBox("Input your Twitch.TV Username")
  229.         My.Settings.Username = UsernameInput
  230.         username = UsernameInput
  231.     End Sub
  232.  
  233.     Private Sub LaunchChatButton_Click(sender As Object, e As EventArgs) Handles LaunchChatButton.Click
  234.         Dim GetStreamerName As String
  235.         GetStreamerName = LiveChannelsComboBox.SelectedItem
  236.         Dim WebSite As String
  237.         WebSite = "https://www.twitch.tv/" + GetStreamerName + "/chat?popout="
  238.         Process.Start(WebSite)
  239.     End Sub
  240.  
  241. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement