[Visual Basic] Kleiner IRC Bot

Dieses Thema im Forum "Programmier Tutorials" wurde erstellt von DeltaFox, 21. Oktober 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 21. Oktober 2006
    Kleiner IRC Bot

    Code:
    Tutorial: Irc Bot/Client in Visual Basic 6
    
    Vorwort:
    Da das mein erstes Tutorials ist verzeit mir meine Fehler im Programmiertechnischen wie auch bei meiner Rechtschreibung. Dieses Tutorial soll euch zeigen wie einfach es doch ist einen kleine Irc Bot oder auch Client zu Basteln. Und natürlich auch schreib ich das Tutorial um den ganzen armen Leuten zu helfen die sich Finger wund suchen und doch nichts wirklich Handfestes finden.
    
    So dann wollen wir mal beginnen.
    Als erstes Starten wir natürlich wie ihr sicher schon alle denkt Visual Basic.
    Wenn wir das haben erstellen wir ein neues Projekt mit Datei > Neues Projekt.. oder Strg + N wie man will.
    Dort wählen wir dann Standart-EXE aus.
    Die Form nennen wir frmIRC, bei Caption könnt ihr hinschreiben was ihr möchtet. Ich hab z.B. "Super Trooper Irc Bot" hingeschrieben =)
    
    So dann gehen wir auf Projekt > Komponenten.. oder auch Strg + T und machen dort ein Hacken bei Microsoft Winsock Control 6 hin. Dann auf Übernehmen. Dann hab ihr nun auf Linken Seite in der Toolbox ein neues Icon das zieht ihr nun in das Fenster und nennt es sckIRC.
    
    Dann gehen wir mal in den Code Modus und geben dort ein:
    
    
    Const Server As String = "irc.euerIrc.net" 'Definiert den Server wo wir später drauf Connecten möchten. 
    Const Port As Integer = 6667 'Definiert den Server Port Standart ist bei Irc 6667.
    Const Channel As String = "#SuperTrooper" 'Definiert den Channel in welchen der Bot soll. 
    Const Nick As String = "SuperTrooper" 'Definiert den Nicknamen von dem Bot.
    
    Als Nächstes legen wir fest was das Programm machen soll wenn das Fenster geladen wird.
    
    Dazu geben wir
    
    Private Sub Form_Load()
     sckIRC.Connect Server, Port 'Baut eine Verbindung zu dem Server mit dem Port auf die wir vorher festgelegt haben.
    End Sub 
    
    ein. 
    
    Dann müssen wir ja noch festlegen was beim Verbinden zum Server alles gesendet werden soll.^^
    
    Private Sub sckIRC_Connect()
     Dim UserName, RealName As String ' Definiert die 2 Variablen UserName und RealName als String Variable.
     UserName = Nick ' Ordnet der Variable UserName den Inhalt der Variable Nick zu.
     RealName = Nick ' Ordnet der Variable RealName den Inhalt der Variable Nick zu.
    
     sckIRC.SendData "USER " & UserName & " 0 * " & RealName & vbCrLf ' Sendet an den Server die User Daten die der Server zum Verbindet verlangt.
     sckIRC.SendData "NICK " & Nick & vbCrLf ' Sendet den gewünschten NickName an den Server.
    End Sub
    
    Nun müssen wir die Verbindung noch am Leben halten, weil ja IRC immer wieder Ping Pong spielen will. So nun mal ernst :p
    Der Irc Server Sendet immer wieder ein PING und eine Zahlenkombination dahinter , dann muss der Client PONG und die gleiche Zahlenkombination antworten sonst wird man Disconnected.
    Und in einen Channel müssen wir auch noch Joinen.^^
    Also müssen wir erstmal Lesen was der Server uns "sagt".
    
    Das machen wir am besten so:
    
    Private Sub sckIRC_DataArrival(ByVal bytesTotal As Long)
     Dim strData As String ' Definiert die Variable strData als String.
     sckIRC.GetData strData ' Die einkommenden Daten werden in der Variablen strData Gespeichert.
     DoEvents ' Führt die nachfolgenden Befehle aus.
     
     If InStr(strData, "PING") <> 0 Then ' Wenn der Server wie oben schon PING sendet.
     sckIRC.SendData Replace(strData, "PING", "PONG") & vbCrLf ' Antworten wir ? Richtig!.. PONG :>
     End If ' Oder wir werden Disconnected T_T
     
     If strData Like "*376*" Then ' Wenn der Server 376 sendet , kann man im RFC von IRC nachlesen ist das Ende der MOTD
     sckIRC.SendData "JOIN " & Channel & vbCrLf ' Betretten wir den Channel weil wir wissen wenn die MOTD zu Ende ist sind wir sicher aufm dem Server verbunden.
     End If
    End Sub
    
    So dass wars auch schon fürs Erste wir haben nun einen einfachen aber funktioniernden Bot der sobald man ihn startet auf einen Server vebindet und in einen Channel Joined..
    
    Ich hoffe es war gut verständlich.^^
    
    (c) 2006 by Hypocrite
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.