BlueDog
Mitglied
Ich habe für ein Board einen IRC Channelbot geschrieben, dieser
gibt auf Anfrage im Query zb den neusten User, den neusten Post
oder Thread aus. Läuft soweit auch super, habe mir vom Boardadmin
eine php api machen lassen so das der Bot eigtl nix weiter machen
muss ausser die api abzufragen.
dies tätige ich mit folgender funktion:
So und nun zu meinem Problem, der Bot Gott möge ihn schützen
wenn er das noch weiter macht ^^, disconnected ca aller 135 mins
vom IRC Server ohne Grund. Mir ist gänzlich unklar woher das kommt,
es liegt auch nicht am IRC Server der Bot macht es überall auf jedem
IRC Server den ich teste.
so sieht es aus:
Ich habe zum testen extra einmal nur das Grundgerüst
des Bot's verwendet aber auch hier das gleiche Spiel.
Also muss der Fehler ja hier zu finden sein.
(sckIRC ist eine Winsock Control 6.0)
Auch die Anwendung eines Timers würde mich hier nicht
weiterbringen, klar man könnte es über sckIRC_Close()
machen aber wie sieht das denn aus wenn der Bot aller
135 mins neu den Channel joint? oO
Jungens und Mädels bitte helft mir weiter wenn
ihr könnt ich bin am ende meines lateins
THX BlueDog
gibt auf Anfrage im Query zb den neusten User, den neusten Post
oder Thread aus. Läuft soweit auch super, habe mir vom Boardadmin
eine php api machen lassen so das der Bot eigtl nix weiter machen
muss ausser die api abzufragen.
dies tätige ich mit folgender funktion:
Code:
Sub GetUrlData(ByVal URL, ByVal strData)
pos1 = InStr(strData, ":")
nickname2 = Mid(strData, pos1 + 1)
pos1 = InStr(nickname2, "!")
nickname2 = Left(nickname2, pos1 - 1)
Dim SiteHTML As String
Inet1.Cancel
Inet1.Protocol = icHTTP
Inet1.AccessType = icDirect
SiteHTML = Inet1.OpenURL(Trim$(URL), icString)
sckIRC.SendData "PRIVMSG " & nickname2 & " :" & SiteHTML & vbCrLf
End Sub
Code:
If strData Like "*!user*" Then
Call GetUrlData("http://server.com/api.php?get=lastuser", strData)
End If
So und nun zu meinem Problem, der Bot Gott möge ihn schützen
wenn er das noch weiter macht ^^, disconnected ca aller 135 mins
vom IRC Server ohne Grund. Mir ist gänzlich unklar woher das kommt,
es liegt auch nicht am IRC Server der Bot macht es überall auf jedem
IRC Server den ich teste.
so sieht es aus:
Code:
23:41… BotNick has joined #chan
02:00… BotNick has quit IRC (quit)
Ich habe zum testen extra einmal nur das Grundgerüst
des Bot's verwendet aber auch hier das gleiche Spiel.
Also muss der Fehler ja hier zu finden sein.
(sckIRC ist eine Winsock Control 6.0)
Code:
Option Explicit
Const SERVER = "irc.server.de"
Const PORT = 6667
Const Channel = "#chan"
Const Nick = "BotNick"
Dim Inhalt As String
Private Sub Form_Load()
sckIRC.Connect SERVER, PORT
End Sub
Private Sub sckIRC_Connect()
Dim UserName, RealName As String
UserName = Nick
RealName = Nick
sckIRC.SendData "USER " & UserName & " 0 * " & RealName & vbCrLf
sckIRC.SendData "NICK " & Nick & vbCrLf
End Sub
Private Sub sckIRC_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
sckIRC.GetData strData
DoEvents
If InStr(strData, "PING") <> 0 Then
sckIRC.SendData Replace(strData, "PING", "PONG") & vbCrLf
End If
If strData Like "*376*" Then
sckIRC.SendData "JOIN " & Channel & vbCrLf
End If
End Sub
Auch die Anwendung eines Timers würde mich hier nicht
weiterbringen, klar man könnte es über sckIRC_Close()
machen aber wie sieht das denn aus wenn der Bot aller
135 mins neu den Channel joint? oO
Jungens und Mädels bitte helft mir weiter wenn
ihr könnt ich bin am ende meines lateins

THX BlueDog