Irc Client betritt den Channel nicht!

NeXoN

Mitglied
Hallo erstmal,
Ich wollte für meinen Channel einen kleinen Bot schreiben der den Usern paar Witze erzählt. =)

Nur hab ich folgendes Problem das der Bot den Channel nicht betritt.
Hab auch schon danach gesucht aber leider nichts Brauchbares gefunden.

Deswegen wende ich mich hoffnungsvoll an euch , ich hoffe Ihr könnt mir dabei helfen.

Hier ist mein Quellcode:
Code:
Private Sub Form_Load()
With sckIRC
    .RemoteHost = "irc.euirc.net"
    .RemotePort = "6667"
    .Connect
End With
End Sub

Private Sub sckIRC_Connect()
   With sckIRC
       .SendData "NICK WitzBot" & vbCrLf
       .SendData "USER WitzigerBot " & sckIRC.LocalHostName & " " & _
           UCase(sckIRC.LocalHostName & ":" & sckIRC.LocalPort & "/0") & " :Winsock Client" & vbCrLf
       .SendData "JOIN #hiho" & vbCrLf
   End With
End Sub

Private Sub sckIRC_DataArrival(ByVal bytesTotal As Long)
   On Error Resume Next
   
   Dim sRecv As String
   sckIRC.GetData sRecv
   
   If Split(sRecv, " ")(0) = "PING" Then
       sckIRC.SendData "PONG " & Split(sRecv, " ")(1)
   End If
End Sub

Vielen Dank im Vorraus.

Gruß
 
Muss normalerweise nicht beim Befehl join nen / davor ?
Nimmt er denn den Namen so an? Weils da ja auch sonst der fall sein sollte, kenne mich in "der" Programmierebene nicht so wirklich aus, war halt das was mir sofort auffiel, keine Ahnung ob's hilft.
 
Den Namen nimmt er, wenn ich ein Text Field einbauen und Ausgeben lasse was der Server mit Antwortet kommt er ohne Probleme darauf.

Und ich bin mir ziemlich sicher das es JOIN heißen muss.^^

Was ich mir grad überlegt hab ist das er die Befehle zu schnell ausführt und wenn er JOIN sendet noch nicht aufm Server connectet is und somit den Befehl nicht ausführt.
-Aber mit einem Timer geht es dann auch nicht. :/

Edit://
So hab mal weiter geschaut und ich denk nun das, dass Join wirklich am falschen Punkt gesendet wird und hab deshalb versucht einen Abfrage einzubauen damit Join nach dem Ende der MOTD gesendet wird aber leider geht das auch nicht.

Code:
    If InStr(strData, "376") Then
        ws.SendData "JOIN #hiho"
    End If

Edit://
Problem wurde gelöst :>
Kann geclosed werden

Gruß
 
Zuletzt bearbeitet:
Problem gelöst, aber könntest du bitte auch die Lösung dabei schreiben? Hab das selbe Problem...
 
Zurück