Showing posts with label Twitter. Show all posts
Showing posts with label Twitter. Show all posts
Monday, April 11, 2016

FASTEST VB.Net Twitter Login and Post Tweet

VB.Net Twitter Login. Happy coding bro... ^_^

VB.Net Twitter Login


Public Class Form1

    Dim load, login, logout, tweet, cektweet As Boolean
    Dim iP As Integer = 0
    Private WithEvents TmrCek As New Timer
    
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        load = True
        Btnlogin.Enabled = False
        BtnLogout.Enabled = False
        WB.Navigate("https://mobile.twitter.com/session/new")

        With TmrCek
            .Interval = 1000
            .Start()
        End With
    End Sub

    Private Sub TxtPass_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtPass.KeyDown
        If e.KeyCode = Keys.Enter Then Btnlogin_Click(sender, e)
    End Sub

    Private Sub Btnlogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnlogin.Click
        If TxtEmail.Text = Nothing Then
            TxtEmail.Focus()
            Return
        End If

        If TxtPass.Text = Nothing Then
            TxtPass.Focus()
            Return
        End If

        Btnlogin.Enabled = False
        Application.DoEvents()

        With WB
            .Document.GetElementById("session[username_or_email]").SetAttribute("value", TxtEmail.Text)
            .Document.GetElementById("session[password]").SetAttribute("value", TxtPass.Text)
            If .Document.Body.InnerHtml.Contains("signupbutton") Then
                .Document.GetElementById("signupbutton").InvokeMember("click")
            ElseIf .Document.Body.InnerHtml.Contains("commit") Then
                For Each input As HtmlElement In .Document.GetElementsByTagName("input")
                    If input.OuterHtml.Contains("commit") Then
                        input.InvokeMember("click")
                    End If
                    Application.DoEvents()
                Next
            End If
        End With
        login = True

        With TmrCek
            .Interval = 1000
            .Start()
        End With
    End Sub

       Private Sub BtnLogout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnLogout.Click
        BtnLogout.Enabled = False
        Application.DoEvents()

        For Each inputTag As HtmlElement In WB.Document.GetElementsByTagName("a")
            If inputTag.OuterHtml.Contains("/account") Then
                inputTag.InvokeMember("click")
                logout = True
            End If
            Application.DoEvents()
        Next

        With TmrCek
            .Interval = 1000
            .Start()
        End With
    End Sub

    Private Sub BtnTweet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTweet.Click
        If Btnlogin.Enabled = True Then
            TxtEmail.Focus()
            Return
        End If
        If TxtTweet.Text = Nothing Then
            TxtTweet.Focus()
            Return
        End If
        If WB.DocumentText.Contains("/compose/tweet") = False Then Return

        BtnTweet.Enabled = False
        Application.DoEvents()

        For Each input As HtmlElement In WB.Document.GetElementsByTagName("a")
            If input.OuterHtml.Contains("/compose/tweet") Then
                input.InvokeMember("click")
            End If
            Application.DoEvents()
        Next
        tweet = True

        With TmrCek
            .Interval = 1000
            .Start()
        End With
    End Sub

    Private Sub TmrCek_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TmrCek.Tick
        TmrCek.Stop()
        If load Then
            iP += 1
            If iP = 5 Then
                iP = 0
                load = False
                Try
                    If WB.Document.Body.InnerHtml.Contains("session[username_or_email]") Then
                        Btnlogin.Enabled = True
                        BtnLogout.Enabled = False
                        Return
                    Else
Err:
                        MsgBox("Error loading webpage", MsgBoxStyle.Critical, Text)
                        Return
                    End If
                Catch ex As Exception
                    GoTo Err
                End Try
            End If
        End If
        If login Then
            iP += 1
            If iP = 3 Then
                iP = 0
                login = False
                If WB.Document.Body.InnerHtml.Contains("session[username_or_email]") Then
                    Btnlogin.Enabled = True
                    BtnLogout.Enabled = False
                    MsgBox("The email and password you entered did not match our records." _
                            & vbCrLf & "Please double-check and try again. ", MsgBoxStyle.Critical, Text)
                    Return
                Else
                    For Each inputTag As HtmlElement In WB.Document.GetElementsByTagName("a")
                        If inputTag.OuterHtml.Contains("/account") Then
                            BtnLogout.Enabled = True
                            Return
                        End If
                        Application.DoEvents()
                    Next
                End If
            End If
        End If
        If logout Then
            iP += 1
            If iP = 3 Then
                iP = 0
                logout = False
                For Each input As HtmlElement In WB.Document.GetElementsByTagName("input")
                    If input.OuterHtml.Contains("Log out") Then
                        input.InvokeMember("click")
                    End If
                    Application.DoEvents()
                Next
                Btnlogin.Enabled = True
                Return
            End If
        End If
        If tweet Then
            iP += 1
            If iP = 2 Then
                iP = 0
                tweet = False
                WB.Document.GetElementById("tweet[text]").SetAttribute("value", TxtTweet.Text)
                WB.Document.GetElementById("commit").InvokeMember("click")
                cektweet = True

                With TmrCek
                    .Interval = 1000
                    .Start()
                End With
                Return
            End If
        End If
        If cektweet Then
            iP += 1
            If iP = 3 Then
                iP = 0
                If WB.Document.Body.InnerHtml.Contains(TxtTweet.Text) Then
                    cektweet = False
                    BtnTweet.Enabled = True
                    Return
                End If
            End If
        End If
        TmrCek.Start()
    End Sub

    Private Sub BtnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCancel.Click
        BtnTweet.Enabled = True
        With TxtTweet
            .Clear()
            .Focus()
        End With
    End Sub

End Class
Farray Cool Social Media, Twitter, VB.Net