Vollständige Version anzeigen : [Visual Basic] Kleiner IRC Bot


DeltaFox
21.10.2006, 15:25

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

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
Ähnliche Themen zu [Visual Basic] Kleiner IRC Bot
  • [Visual Basic] Visual Basic IDE Add-In SourceContainer
    Wer kennt das nicht ?!, Man brauch einen bestimmten Source immer wieder .. (beispiel Datei einlesen oder schreiben .;) Jedoch hat man nicht immer die nötige Zeit/die lust den Source immer und immer wieder neu einzugeben! Genau das selbe Problem hatte ich auch .. also habe ich mir gedacht, war [...]

  • Benutzt Ihr Visual Basic 6 oder Visual Studio 2005 (.net)?
    Ja Hi, woltle mal wissen ob ihr noch das "alte" ( :rolleyes: ) Visual Basic 6;0 oder das neue Visual Studio 2005 (~net) benutzt?? Votete einfach mal. ;) [...]

  • [.NET] C, C++, C#, Basic, Visual Basic, Java, Shell, Linux-Unix und Pascal Tutorials
    Hier findet ihr einige Links zu Tutorials verschiedenster Programmiersprachen. Solltet ihr noch einen oder mehrere Links wissen die hier fehlen, so teilt ihn einem Programmierungs Moderator mit, er wird ihn dan hinzufügen. C, Pascal und Basic (;;;tutorials~at) (deutsch) Pascal, Delphi, Vb, C#, C, [...]

  • [Visual Basic] Cd Laufwerk öffnen/schließen in Visual Basic
    Hier ist die Code für Cd Laufwerk öffnen und schließen Option Explicit Private Declare Function mciExecute Lib "winmm;dll" (Byval lpstrcommand as String) as Long Private sub cmdoffne_CLick() mciexecute"Set CDaudio door open" Private sub cmdschließen_click() mciExecute"Set CDaudio door close [...]



raid-rush.ws | Imprint & Contact pr