1. #1
    Avatar von Diebspiel
    Registriert seit
    18.11.2011
    Beiträge
    311
    Thanked 191 Times in 102 Posts

    Ausrufezeichen [VB.NET] KNLiB TokenParser

    Hallo,

    Da mich immer wieder einige Personen angeschrieben haben, die Probleme mit den Tokens haben, habe ich heute einen TokenParser geschrieben. Mit dem TokenParser könnt ihr in wenigen Sekunden einen funktionierenden Bot Eurer Wahl schreiben. Es sind nur sehr wenige Schritte notwendig. Und das beste: Man muss sich nicht mit Tokens auskennen. Außerdem sind erweiterte Beispiele und Kommentare vorhanden, sodass sie jeder Coder verstehen muss. Wenn nicht fehlen einfach noch die Kentnisse, die man aber eigentlich besitzen muss, um fortzufahren.

    Der nachfolgende Code muss in das client_Receive Event von der KNLib eingefügt werden:
    Code:
    Dim t() As String = token.Split(vbNullChar)
    
            Select Case t(0)
    
                Case "("
    
                    clien.Login(TextBox2.Text, TextBox3.Text, TextBox4.Text)
    
                Case "e"
    
                    onPublicMessage(t(1), t(3), t(2))
    
                Case "r"
    
                    onPrivateMessage(t(1), t(2), t(4))
    
                Case "t"
    
                    onActionMessage(t(1), t(3))
    
                Case "l"
    
                    onChannelJoin(t(2))
    
                Case "w"
    
                    onChannelLeave(t(1))
    
                Case ","
    
                    onPing(t(1).Split("|")(0), t(1).Split("|")(1))
    
                Case "u"
    
                    Dim userList As New List(Of String)
    
                    For i As Integer = 2 To t.Length - 1
    
                        If Regex.IsMatch(t(i), "([0-9]+/,[0-9]+/,[0-9]+|[a-z]|/-|p|-)") Then
    
                            Dim userName() As String = t(i).Split(vbLf)
    
                            If Not userName(0) = "-" And Not userName(0) = "p" And Not userName(0) = "b" And Not userName(0).StartsWith("pics/") Then
    
                                userList.Add(userName(0))
    
                            End If
    
                        End If
    
                    Next
    
                    onUserList(userList, t(1))
    
                Case "k"
    
                    onPopup(Regex.Match(t(4), "ûãCl(.+)õb").Groups(1).Value, Regex.Match(t(7), "h¾¼ûããCc(.+)õ").Groups(1).Value.Replace("õ~tp", ""))
    
            End Select
    Nun muss man nur noch Folgendes erstellen:
    Code:
    ' Dieses Event wird aufgerufen, wenn eine öffentliche Channelnachricht empfangen wurde.
    
        ' fromNickname:      Nickname, von dem die Nachricht kam
        ' message:           Nachricht, die empfangen wurde
        ' fromChannel:       Channel, in dem die Nachricht geschrieben wurde
    
        Public Sub onPublicMessage(ByVal fromNickname As String, ByVal message As String, ByVal fromChannel As String)
    
            RichTextBox1.AppendText(fromNickname + ": " + message + vbLf)
            RichTextBox1.ScrollToCaret()
    
        End Sub
    
        ' Dieses Event wird aufgerufen, wenn eine private Nachricht empfangen wurde.
    
        ' fromNickname:      Nickname, von dem die Nachricht kam
        ' toNickname:        Nickname, an den die Nachricht geschrieben wurde (mehrere möglich)
        ' message:           Nachricht, die empfangen wurde
    
        Public Sub onPrivateMessage(ByVal fromNickname As String, ByVal toNickname As String, ByVal message As String)
    
            RichTextBox1.AppendText(fromNickname + " (privat an " + toNickname + "): " + message + vbLf)
            RichTextBox1.ScrollToCaret()
    
        End Sub
    
        ' Dieses Event wird aufgerufen, wenn eine Aktionsnachricht empfangen wurde.
        ' Hinweis: fromNickname kann leer sein, dann ist es eine reine Funktion,
        ' z.B. /kiss. Ansonsten z.B. bei /me der normale Nickname.
    
        ' fromNickname:      Nickname, der die Aktion ausgelöst hat
        ' message:           Nachricht, die empfangen wurde
    
        Public Sub onActionMessage(ByVal fromNickname As String, ByVal message As String)
    
            If fromNickname = String.Empty Then
    
                RichTextBox1.AppendText(">>> " + message + vbLf)
    
            Else
    
                RichTextBox1.AppendText(fromNickname + " " + message + vbLf)
    
            End If
    
            RichTextBox1.ScrollToCaret()
    
        End Sub
    
        ' Dieses Event wird ausgelöst, wenn ein User den Channel betreten hat.
    
        ' nickname:          Nickname, der sich neu eingeloggt hat
    
        Public Sub onChannelJoin(ByVal nickname As String)
    
            ListBox1.Items.Add(nickname)
    
        End Sub
    
        ' Dieses Event wird ausgelöst, wenn ein User den Channel verlassen hat.
    
        ' nickname:          Nickname, der sich aus dem Channel ausgeloggt hat
    
        Public Sub onChannelLeave(ByVal nickname As String)
    
            ListBox1.Items.Remove(nickname)
    
        End Sub
    
        ' Dieses Event wird ausgelöst, wenn man selbst gepingt worden ist.
    
        ' nickname:          Nickname, der Dich gepingt hat
        ' key:               Ein Zeitstempel um später anzuzeigen, wie lange der Ping gedauert hat
    
        Public Sub onPing(ByVal nickname As String, ByVal key As String)
    
            MessageBox.Show("Empfange Ping von " + nickname + " mit dem Key " + key + "...", "Achtung")
    
        End Sub
    
        ' Dieses Event wird ausgelöst, wenn eine Userliste (Nickname) empfangen wurde.
    
        ' userList:          Liste aller Chatter, die im Channel eingeloggt sind
        ' channel:           Der Name des aktuellen Channels, hier vielseitig weiterverwendbar
    
        Public Sub onUserList(ByVal userList As List(Of String), ByVal channel As String)
    
            ListBox1.Items.Clear()
    
            For Each nickname In userList
    
                ListBox1.Items.Add(nickname)
    
            Next
    
            myChannel = channel
    
        End Sub
    
        ' Dieses Event wird ausgelöst, wenn man im Chat ein Popup-Fenster empfangen hat.
    
        ' title:             Der Title des Fensters
        ' message:           Die Nachricht (der Inhalt) des Fensters
    
        Public Sub onPopup(ByVal title As String, ByVal message As String)
    
            MessageBox.Show(message, title, MessageBoxButtons.OK, MessageBoxIcon.Information)
    
        End Sub
    Wer noch Fragen hat, einfach melden. Aber es sollte sich alles von selbst erklären eigentlich.

    Grüße

  2. #2
    Avatar von Diebspiel
    Registriert seit
    18.11.2011
    Beiträge
    311
    Thanked 191 Times in 102 Posts

    Standard [VB.NET] KNLiB TokenParser

    Kleiner Push für die, die es noch nicht gesehen haben, falls es während der Downtime untergegangen ist.

  3. #3

    Registriert seit
    30.01.2011
    Beiträge
    17
    Thanked 18 Times in 17 Posts

    Standard [VB.NET] KNLiB TokenParser

    Error 1 't' is already declared as a parameter of this method.

    egal was ich dahin mache immer kommt das selbe kannse vill helfen ?

  4. #4

    Registriert seit
    21.07.2012
    Beiträge
    24
    Thanked 0 Times in 0 Posts

    Standard [VB.NET] KNLiB TokenParser

    Zitat Zitat von Slave Beitrag anzeigen
    Error 1 't' is already declared as a parameter of this method.

    egal was ich dahin mache immer kommt das selbe kannse vill helfen ?
    Achso, Du hast Dir damals den eigenen Clienten btw Chat da gemacht, mit 0 Ahnung.
    Die Fehlermeldung sagt alles?
    Zitat Zitat von Slave
    Error 1 't' is already declared
    Der Befehl ist bereits deklariert.

  5. #5

    Registriert seit
    30.01.2011
    Beiträge
    17
    Thanked 18 Times in 17 Posts

    Standard [VB.NET] KNLiB TokenParser

    Ja , war Zu müde kamm von der nachtschicht habs hinbekommen

    danke trotzdem

Ähnliche Themen

  1. Release KNLib ersatz (v9.0 AWV)
    Von Bubble Gum im Forum Knuddels Bots
    Antworten: 4
    Letzter Beitrag: 05.06.2013, 15:46
  2. [Source] KNLib
    Von Devon im Forum Sourcecode
    Antworten: 26
    Letzter Beitrag: 05.05.2013, 22:37
  3. Wo finde ich die Knlib.dll ?
    Von SmK147 im Forum Support
    Antworten: 1
    Letzter Beitrag: 27.03.2013, 17:33
  4. [C#] TokenParser
    Von silently im Forum Sourcecode
    Antworten: 0
    Letzter Beitrag: 15.02.2011, 10:24
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.