naja, ist schon spät und ich hoffe das ich noch im vollbesitzt meiner geistigen kräfte war, falls nicht übernehme ich keine haftung für schäden die durch benutzung des scriptes entstehen *ggg*
naja aufrufen kannste es mit !uptime und ich hoffe mal das du bei server Hektik-Server ausgegeben haben wolltest :D
Code:
Const Host = "uptimebotserv.0rd.net"
Dim Connections(), Quelle(5), results(5)
Sub Init()
ReDim Connections(0)
scriptname = "DLH-news v.1.0a by St4rg4t3"
Script scriptname
Hook "Chan_Msg"
End Sub
Sub Chan_Msg(Chan, Nick, RegUser, Line)
If Param(LCase(Line), 1) = "!uptime" Then
For i = 1 To UBound(Connections)
If Connections(i).vSock = 0 Then
Set Connections(i) = New Connection
Connections(i).Index= i
Connections(i).Nick = Nick
Connections(i).Chan = Chan
Connections(i).Connect Host, 80
Exit Sub
End If
Next
ReDim Preserve Connections(UBound(Connections) + 1)
i = UBound(Connections)
Set Connections(i) = New Connection
Connections(i).Index = i
Connections(i).Nick = Nick
Connections(i).Chan = Chan
Connections(i).Connect Host, 80
End If
End Sub
Class Connection
Public vSock, Nick, Chan, Index
Private Recieved, URL
Public Sub Connect(RemoteHost, RemotePort)
URL = "/eggdrop.php?username=Hektik-Server"
vSock = SockConnect(RemoteHost, RemotePort, "Connections(" & Index & ").SockEvent")
End Sub
Sub SockEvent(vsock, SEvent, SData)
Select Case SEvent
Case SE_ConnectFailed
SendLine "PRIVMSG " & Chan & ": " & Nick & ": Connection to " & host & " failed", 3
Case SE_Connected
SockWrite vsock, "GET " & URL & " HTTP/1.0" & vbCrLf & _
"Accept: text/html" & vbCrLf & _
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" & vbCrLf & _
"Host: " & Host & vbCrLf & _
"Pragma: no-cache" & vbCrLf & _
"Connection: close" & vbCrLf & vbCrLf
Case SE_Read
Recieved = Recieved & SData
Case SE_Closed
If InStr(Recieved, "usr:[ ") > 0 And InStr(Recieved, " ]") > 0 Then
Server = Mid(Recieved, InStr(Recieved, "usr:[ "), InStr(Recieved, " ]") - InStr(Recieved, "usr:[ "))
Server = Right(Server, Len(Server) - 7)
Else
Server = "unknown"
End If
If Instr(Recieved, "upt:[ ") > 0 AND InStr(Recieved, " ] avg") > 0 Then
Dummy = Instr(Recieved, "upt:[ ")
up = Mid(Recieved, Dummy + 7, InStr(Recieved, " ] avg") - (Dummy + 7))
Else
up = "unknown"
End If
If InStr(Recieved, "record:[ ") > 0 And InStr(Recieved, " ] os:") > 0 Then
record = Mid(Recieved, InStr(Recieved, "record:[ ") + 10, InStr(Recieved, " ] os:") - (InStr(Recieved, "record:[ ") + 10))
Else
record = "unknown"
End If
If InStr(Recieved, "os:[ ") > 0 AND InStr(InStr(Recieved, "os:[ "), Recieved, " [") > 0 Then
os = Mid(Recieved, InStr(Recieved, "os:[ ") + 6, InStr(InStr(Recieved, "os:[ "), Recieved, " [") - (InStr(Recieved, "os:[ ") + 6))
Else
os = "unknown"
End If
SendLine "PRIVMSG " & Chan & " :Servername: " & Server, 2
SendLine "PRIVMSG " & Chan & " :Uptime: " & up, 2
SendLine "PRIVMSG " & Chan & " :Record: " & record, 2
SendLine "PRIVMSG " & Chan & " :OS: " & os, 2
Recieved = ""
End Select
End Sub
End Class