Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports System.Net
- Imports System.Text.RegularExpressions
- Public Class Form1
- Dim EmptyList As New ArrayList
- Dim ChannelNames As New ArrayList
- Dim ChannelGames As New ArrayList
- Dim ChannelViewers As New ArrayList
- Dim ChannelTitle As New ArrayList
- Dim LiveChannels As New ArrayList
- Dim username As String = My.Settings.Username
- Public CheckLoading As Integer
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Ni.Visible = False
- Dim UsernameInput As String
- UsernameInput = ""
- If username = "" Then
- UsernameInput = InputBox("Input your Twitch.TV Username")
- My.Settings.Username = UsernameInput
- username = UsernameInput
- End If
- If username = "" Then
- MessageBox.Show("No username input. Closing application")
- Me.Close()
- End If
- End Sub
- Private Sub LiveChannelsComboBox_SelectionChangeCommitted(sender As Object, e As EventArgs) Handles LiveChannelsComboBox.SelectionChangeCommitted
- Dim result As String
- Dim results As String
- result = LiveChannelsComboBox.SelectedValue
- results = LiveChannels.IndexOf(result)
- GameTextBox.Text = ChannelGames(results)
- ViewerCountTextBox.Text = ChannelViewers(results)
- TitleTextBox.Text = ChannelTitle(results)
- End Sub
- Private Sub RefreshToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles RefreshToolStripMenuItem.Click
- LiveChannelLabel.Hide()
- LiveChannelsComboBox.Hide()
- GameLabel.Hide()
- GameTextBox.Hide()
- TitleTextBox.Hide()
- ViewersLabel.Hide()
- ViewerCountTextBox.Hide()
- QualityLabel.Hide()
- TitleLabel.Hide()
- VLCQualityComboBox.Hide()
- WebBrowserLaunchButton.Hide()
- VLCLaunchButton.Hide()
- LaunchChatButton.Hide()
- ChannelNames.Clear()
- ChannelGames.Clear()
- ChannelViewers.Clear()
- LiveChannels.Clear()
- LiveChannelsComboBox.DataSource = EmptyList
- GameTextBox.Text = ""
- ViewerCountTextBox.Text = ""
- Dim url As String = "https://api.twitch.tv/kraken/users/" + username + "/follows/channels?client_id=kt1lim3ndaxcm11ntkoswmtxu9h64p1&limit=200&offset=0"
- Dim client As New WebClient()
- client.Headers.Add(HttpRequestHeader.Accept, "application/vnd.twitchtv.v3+json")
- Dim responseJson As String = client.DownloadString(url)
- Dim numbers As New List(Of String)()
- Dim pattern As String = "name(.*?)created_at"
- Dim pattern2 As String = "name(.*?),"
- Dim NewValue As String
- NewValue = ""
- For Each a As Match In Regex.Matches(responseJson, pattern)
- For Each b As Match In Regex.Matches(a.Groups(1).Value, pattern2)
- If Not b.Groups(1).Value.Contains(""":""") Then
- Else
- NewValue = b.Groups(1).Value
- If NewValue.Contains("""") Then
- NewValue = NewValue.Replace("""", "")
- End If
- If NewValue.Contains(":") Then
- NewValue = NewValue.Replace(":", "")
- End If
- If NewValue.Contains(" ") Then
- NewValue = NewValue.Replace(" ", "")
- End If
- ChannelNames.Add(NewValue)
- End If
- Next
- Next
- Dim num As String
- Dim url2 As String
- Dim client2 As New WebClient()
- Dim Count As Integer
- Dim pattern3 As String = "game(.*?),"
- Dim pattern4 As String = "viewers(.*?),"
- Dim pattern5 As String = "status(.*?),"
- For Each num In ChannelNames
- url2 = "https://api.twitch.tv/kraken/streams/" + num + "?client_id=kt1lim3ndaxcm11ntkoswmtxu9h64p1&limit=200&offset=0"
- client2.Headers.Add(HttpRequestHeader.Accept, "application/vnd.twitchtv.v3+json")
- Dim responseJson2 As String = client2.DownloadString(url2)
- Count = 0
- For Each b As Match In Regex.Matches(responseJson2, pattern3)
- If Count = 0 Then
- If Not b.Groups(1).Value.Contains(""":""") Then
- Else
- NewValue = b.Groups(1).Value
- If NewValue.Contains("""") Then
- NewValue = NewValue.Replace("""", "")
- End If
- If NewValue.Contains(":") Then
- NewValue = NewValue.Replace(":", "")
- End If
- ChannelGames.Add(NewValue)
- Count = 1
- End If
- End If
- Next
- For Each b As Match In Regex.Matches(responseJson2, pattern4)
- NewValue = b.Groups(1).Value
- If NewValue.Contains("""") Then
- NewValue = NewValue.Replace("""", "")
- End If
- If NewValue.Contains(":") Then
- NewValue = NewValue.Replace(":", "")
- End If
- ChannelViewers.Add(NewValue)
- Next
- For Each b As Match In Regex.Matches(responseJson2, pattern5)
- NewValue = b.Groups(1).Value
- If NewValue.Contains("""") Then
- NewValue = NewValue.Replace("""", "")
- End If
- If NewValue.Contains(":") Then
- NewValue = NewValue.Replace(":", "")
- End If
- ChannelTitle.Add(NewValue)
- Next
- If responseJson2.Contains("_id") Then
- LiveChannels.Add(num)
- End If
- Next
- LiveChannelsComboBox.DataSource = LiveChannels
- LiveChannelLabel.Show()
- LiveChannelsComboBox.Show()
- GameLabel.Show()
- GameTextBox.Show()
- TitleTextBox.Show()
- ViewersLabel.Show()
- ViewerCountTextBox.Show()
- QualityLabel.Show()
- TitleLabel.Show()
- VLCQualityComboBox.Show()
- WebBrowserLaunchButton.Show()
- VLCLaunchButton.Show()
- LaunchChatButton.Show()
- End Sub
- Private Sub WebBrowserLaunchButton_Click(sender As Object, e As EventArgs) Handles WebBrowserLaunchButton.Click
- Dim GetStreamerName As String
- GetStreamerName = LiveChannelsComboBox.SelectedItem
- Dim WebSite As String
- WebSite = "www.twitch.tv/" + GetStreamerName
- Process.Start(WebSite)
- End Sub
- Private Sub VLCLaunchButton_Click(sender As Object, e As EventArgs) Handles VLCLaunchButton.Click
- Dim GetStreamerName As String
- Dim GetQuality As String
- GetStreamerName = LiveChannelsComboBox.SelectedItem
- GetQuality = VLCQualityComboBox.SelectedItem
- Dim WebSite As String
- WebSite = "livestreamer www.twitch.tv/" + GetStreamerName + " " + GetQuality
- Dim OpenCMD
- OpenCMD = CreateObject("wscript.shell")
- OpenCMD.run(WebSite)
- End Sub
- Private Sub ni_Click(ByVal sender As Object, ByVal e As System.EventArgs) _
- Handles Ni.Click
- Me.Visible = True
- Me.WindowState = FormWindowState.Normal
- Me.Ni.Visible = False
- End Sub
- Private Sub Form_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) _
- Handles MyBase.SizeChanged
- If Me.WindowState = FormWindowState.Minimized Then
- Me.WindowState = FormWindowState.Minimized
- Me.Visible = False
- Me.Ni.Visible = True
- End If
- End Sub
- Private Sub InputUsernameToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles InputUsernameToolStripMenuItem.Click
- Dim UsernameInput As String
- UsernameInput = InputBox("Input your Twitch.TV Username")
- My.Settings.Username = UsernameInput
- username = UsernameInput
- End Sub
- Private Sub LaunchChatButton_Click(sender As Object, e As EventArgs) Handles LaunchChatButton.Click
- Dim GetStreamerName As String
- GetStreamerName = LiveChannelsComboBox.SelectedItem
- Dim WebSite As String
- WebSite = "https://www.twitch.tv/" + GetStreamerName + "/chat?popout="
- Process.Start(WebSite)
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement