27.06.2003, 15:13 Uhr
Hallo zusammen
Ich bin neu hier,und zuerst mal ein kompliment: Super Bot den ihr da gebastelt habt
So jetzt aber zu meiner Frage und zwar beim TV Script hab ich das Problem dass ich auf ein Deutsches Fernsehprogramm zugreife, da ich aber Schweizer bin möchte ich auf eine schweizer Seite zugreifen (z.B. Tele.ch) nur hab ich keine Ahnung welche Zeilen ich wie ändern muss :(
Ich hoffe ihr könnt mir da weiterhelfen...
Danke im vorraus!!
gruss
Nicolai
PS: falls es euch etwas nützt hier ist der Code:
Ich bin neu hier,und zuerst mal ein kompliment: Super Bot den ihr da gebastelt habt

So jetzt aber zu meiner Frage und zwar beim TV Script hab ich das Problem dass ich auf ein Deutsches Fernsehprogramm zugreife, da ich aber Schweizer bin möchte ich auf eine schweizer Seite zugreifen (z.B. Tele.ch) nur hab ich keine Ahnung welche Zeilen ich wie ändern muss :(
Ich hoffe ihr könnt mir da weiterhelfen...
Danke im vorraus!!
gruss
Nicolai
PS: falls es euch etwas nützt hier ist der Code:
Code:
''''''''''''''''''''''''''''''''''''''''''''''
'' TVProgramm 1.0d ''
''''''''''''''''''''''''''''''''''''''''''''''
'' Version 1.0d ''
'' (C) 2001 Benedikt "SailorCM" Hübschen ''
'' (C) 2001 [cInYx] ''
'' (C) 2002 Sp33d ''
'' ''
''''''''''''''''''''''''''''''''''''''''''''''
Dim Sender, ServerContent, ToChannel, ToNick, Sent, LineToSend
Dim Uhrzeit, WhatDoYouWant, Term, FloodCounter, LastRequest, FloodTriggered
Dim FloodCounter2, LastRequest2, FloodTriggered2
Sub init()
Script "TVProgramm 1.0d by Sp33d"
Hook "Chan_Msg"
SpreadFlagMessage 0, "+m", "3*** TVProgramm 1.0d by Sp33d running..."
End Sub
Sub Chan_msg(Chan, Nick, RegUser, Line)
If LCase(Param(Line, 1)) = "!tv" Then
If Param(Line, 2) = "" or LCase(Param(Line, 2)) = "help" Then
SendLine "PRIVMSG " & Chan & " :" & Nick & ": Benutzung: !tv <sender> <stunde>", 3
SendLine "PRIVMSG " & Chan & " :" & Nick & ": Ausgabe: Sender: Uhrzeit - Programmname (ShowView)", 3
Else
If Param(Line, 3) = "" Then
WhatDoYouWant = "TVCOMPLETE"
Sender = GetSender(LCase(Param(Line, 2)))
If Sender = "abort" Then
SendLine "PRIVMSG " & Chan & " :" & Nick & ": Ungültiger Sender" , 3
Exit Sub
End If
If FloodTriggered Then Exit Sub
If LastRequest = Nick Then
Sendline "NOTICE " & Nick & " :Sry, just posted results. Retry in some minutes...", 3
Exit Sub
End If
LastRequest = Nick
FloodCounter = FloodCounter + 1
If FloodCounter > 4 Then
FloodTriggered = True
Sendline "PRIVMSG " & Nick & " :Floodprotection engaged. Retry in some minutes...", 3
TimedCommand "FloodTriggered = False", 120
TimedCommand "CheckFlood", 120
Exit Sub
End if
TimedCommand "ResetLastRequest", 180
Uhrzeit = Hour(Now)
Sender = RPL(Sender)
ToNick = Nick
ToChannel = Chan
If Hour(Now) > CInt(Uhrzeit) Then
Tag = 1
Else
Tag = 0
End If
LineToSend = "GET /tv/programm/programm.php?ztag=" & Tag & "&sparte=alle&uhrzeit=Ax" & Uhrzeit & "&sender=" & Sender & " HTTP/1.0"& vbCrLf & "Host: www.tvtoday.de" & vbCrLf & "Connection: keep-alive" & vbCrLf & vbCrLf
TheSock = SockConnect("www.tvtoday.de", 80, "SockEvent")
If TheSock = 0 Then
SendLine "PRIVMSG " & Chan & " :Fehler: Verbindung fehlgeschlagen.", 3
End If
Else
Uhrzeit = Param(Line, 3)
If IsNumeric(Uhrzeit) Then
If Len(Uhrzeit) = 1 Then Uhrzeit = "0" & Uhrzeit
If Uhrzeit < 0 Or Uhrzeit > 23 Then
SendLine "PRIVMSG " & Chan & " :" & Nick & ": Mögliche Uhrzeiten: 0 bis 23", 3
Exit Sub
End If
Else
SendLine "PRIVMSG " & Chan & " :" & Nick & ": Mögliche Uhrzeiten: 0 bis 23", 3
Exit Sub
End If
WhatDoYouWant = "TV"
Sender = GetSender(LCase(Param(Line, 2)))
If Sender = "abort" Then
SendLine "PRIVMSG " & Chan & " :" & Nick & ": Ungültiger Sender" , 3
Exit Sub
End If
If FloodTriggered Then Exit Sub
If LastRequest = Nick Then
Sendline "NOTICE " & Nick & " :Sry, just posted results. Retry in some minutes...", 3
Exit Sub
End If
LastRequest = Nick
FloodCounter = FloodCounter + 1
If FloodCounter > 4 Then
FloodTriggered = True
Sendline "PRIVMSG " & Nick & " :Floodprotection engaged. Retry in some minutes...", 3
TimedCommand "FloodTriggered = False", 120
TimedCommand "CheckFlood", 120
Exit Sub
End if
TimedCommand "ResetLastRequest", 180
Sender = RPL(Sender)
ToNick = Nick
ToChannel = Chan
LineToSend = "GET /tv/programm/programm.php?ztag=0&sparte=alle&uhrzeit=Ax" & Uhrzeit & "&sender=" & Sender & " HTTP/1.0"& vbCrLf & "Host: www.tvtoday.de" & vbCrLf & "Connection: keep-alive" & vbCrLf & vbCrLf
TheSock = SockConnect("www.tvtoday.de", 80, "SockEvent")
If TheSock = 0 Then
SendLine "PRIVMSG " & Chan & " :Fehler: Verbindung fehlgeschlagen.", 3
End If
End If
End If
ElseIf LCase(Param(Line, 1)) = "!tvsearch" Then
If Param(Line, 2) = "" or LCase(Param(Line, 2)) = "help" Then
SendLine "PRIVMSG " & Chan & " :" & Nick & ": Benutzung: !tvsearch <sendung>", 3
SendLine "PRIVMSG " & Chan & " :" & Nick & ": Ausgabe: [Datum] Uhrzeit - Programmname (ShowView)", 3
Else
If Len(Param(Line, 2)) <= 2 Or Len(Param(Line, 2)) > 15 Then
SendLine "PRIVMSG " & Chan & " :" & Nick & ": Och so mindestens 3 Zeichen dürfens doch sein,...aber man sollte es nicht übertreiben ;)", 3
Exit Sub
End If
If Param(Line, 3) <> "" Then
If LCase(Param(Line, 3)) = "hs" Then
Sender = "HS"
ElseIf Instr(1, LCase(Param(Line, 3)), "all") > 0 Then
Sender = "ALLE"
Else
Sender = GetSender(Param(Line, 3))
If Sender = "abort" Then
SendLine "PRIVMSG " & Chan & " :" & Nick & ": Ungültiger Sender. Siehe !tvsearch help", 3
End If
End If
Else
Sender = "ALLE"
End If
If FloodTriggered2 Then Exit Sub
If LastRequest2 = Nick Then
Sendline "NOTICE " & Nick & " :Sry, just posted results. Retry in some minutes...", 3
Exit Sub
End If
LastRequest2 = Nick
FloodCounter2 = FloodCounter2 + 1
If FloodCounter2 > 4 Then
FloodTriggered2 = True
Sendline "PRIVMSG " & Nick & " :Floodprotection engaged. Retry in some minutes...", 3
TimedCommand "FloodTriggered2 = False", 120
TimedCommand "CheckFlood", 120
Exit Sub
End If
TimedCommand "ResetLastRequest", 180
ToNick = Nick
ToChannel = Chan
WhatDoYouWant = "TVSEARCH"
Term = RPL(UCase(Param(Line,2)))
LineToSend = "GET /tv/programm/programm.php?ztag=0&uhrzeit=jetzt&sparte=alle&suchbegriff=" & Term & " HTTP/1.0"& vbCrLf & "Host: www.tvtoday.de" & vbCrLf & "Connection: keep-alive" & vbCrLf & vbCrLf
TheSock = SockConnect("www.tvtoday.de", 80, "SockEvent")
If TheSock = 0 Then
SendLine "PRIVMSG " & Chan & " :" & Nick & ": Verbindung fehlgeschlagen.", 3
End If
End If
End If
End Sub
Sub SockEvent(vsock, SEvent, SData)
Select Case SEvent
Case SE_ConnectFailed
SendLine "PRIVMSG " & Chan & " :" & Nick & ": Verbindung fehlgeschlagen.", 3
Case SE_Connected
ServerContent = ""
SockWrite vsock, LineToSend
Case SE_Read
ServerContent = ServerContent & SData
Case SE_Closed
If InStr(ServerContent, "P R O G R A M M") Then
Sent = False
Dummy = "<td valign=" & Chr(34) & "top" & Chr(34) & " bgcolor=" & Chr(34) & "#a8a8a8" & Chr(34) & ">"
Result = Right(ServerContent, Len(ServerContent) - Instr(1, ServerContent, Dummy) + 1)
GoOn = True
i = 0
Prog_Entry = Split(Result, Dummy)
Else
SendLine "PRIVMSG " & ToChannel & " :" & ToNick & ": Daten vom Server entsprachen nicht den Erwartungen...", 3
Exit Sub
End If
If WhatDoYouWant = "TV" Then
For i = 1 To UBound(Prog_Entry)
Dummy = "<span class=" & Chr(34) & "text-grau" & Chr(34) & ">"
Result = Right(Prog_Entry(i), Len(Prog_Entry(i)) - Instr(1, Prog_Entry(i), Dummy) - Len(Dummy) + 1)
If Left(Result, 2) = Uhrzeit Then
res_Uhrzeit = Left(Result, 5) & " Uhr"
Result = Replace(Result, "<td valign=" & Chr(34) & "middle" & Chr(34) & " width=" & Chr(34) & "476" & Chr(34) & "><span class=" & Chr(34) & "headline" & Chr(34) & ">","")
If Instr(1, Result, "<a") > 0 Then
Dummy = "<span class=" & Chr(34) & "link-intern" & Chr(34) & "><u>"
Result = Right(Result, Len(Result) - Instr(1, Result, Dummy) - Len(Dummy) + 1)
Dummy = "</u></span>"
res_Programmname = Left(Result, Instr(1, Result, Dummy) - 2) & " - "
Else
Dummy = "<span class=" & Chr(34) & "headline" & Chr(34) & ">"
Result = Right(Result, Len(Result) - Instr(1, Result, Dummy) - Len(Dummy) + 1)
Dummy = "</span></span>"
res_Programmname = Left(Result, Instr(1, Result, Dummy) - 2) & " - "
End If
Result = Right(Result, Len(Result) - Instr(1, Result," ShowView ") - Len(" ShowView ") + 1)
Dummy = "<br></span>"
res_ShowView = Left(Result, Instr(1, Result, Dummy) - 1)
SendLine "PRIVMSG " & ToChannel & " :" & ReRPL(Sender) & ": " & res_Uhrzeit & " - " & res_Programmname & res_Showview & ")", 3
Else
If i = 1 Then SendLine "PRIVMSG " & ToChannel & " :" & ReRPL(Sender) & ": Um " & Uhrzeit & " Uhr laufen auf " & reRPL(Sender) & " keine Sendungen...", 3
'Exit For
End If
Next
ElseIf WhatDoYouWant = "TVSEARCH" Then
On Error Resume Next
For i = 1 To UBound(Prog_Entry)
Dummy = "<span class=" & Chr(34) & "text-grau" & Chr(34) & ">"
Result = Right(Prog_Entry(i), Len(Prog_Entry(i)) - Instr(1, Prog_Entry(i), Dummy) - Len(Dummy) +1)
If IsNumeric(Left(Result, 2)) Then
res_Date = Left(Result, 8)
Result = Right(Result, Len(Result) - 12)
res_Uhrzeit = Left(Result, 5) & " Uhr"
'Result = Replace(Result, "<td valign=" & Chr(34) & "middle" & Chr(34) & " width=" & Chr(34) & "476" & Chr(34) & "><span class=" & Chr(34) & "headline" & Chr(34) & ">","")
If Instr(1, Result, "link-intern") > 0 Then
Dummy = "<span class=" & Chr(34) & "link-intern" & Chr(34) & "><u>"
Result = Right(Result, Len(Result) - Instr(1, Result, Dummy) - Len(Dummy) + 1)
Dummy = "</u><br>"
res_Programmname = Left(Result, Instr(1, Result, Dummy) - Len(Dummy) + 6) & " - "
Else
Dummy = "<span class=" & Chr(34) & "headline" & Chr(34) & ">"
Result = Right(Result, Len(Result) - Instr(1, Result, Dummy) - 2*Len(Dummy) + 1)
Dummy = "</span></span>"
res_Programmname = Left(Result, Instr(1, Result, Dummy) - 6) & " - "
End If
Result = Right(Result, Len(Result) - Instr(1, Result,">ShowView ") - Len(">ShowView ") + 1)
Dummy = "<br></span>"
res_ShowView = Left(Result, Instr(1, Result, Dummy) - 1)
SendLine "PRIVMSG " & ToChannel & " :TVSearch: [" & res_Date & "] " & res_Uhrzeit & " - " & res_Programmname & res_Showview & ")", 3
Else
If i = 1 Then SendLine "PRIVMSG " & ToChannel & " :TVSearch: Konnte keine entsprechende Sendung finden", 3
'Exit For
End If
Next
ElseIf WhatDoYouWant = "TVCOMPLETE" Then
On Error Resume Next
For i = 1 To UBound(Prog_Entry)
Dummy = "<span class=" & Chr(34) & "text-grau" & Chr(34) & ">"
Result = Right(Prog_Entry(i), Len(Prog_Entry(i)) - Instr(1, Prog_Entry(i), Dummy) - Len(Dummy) + 1)
res_Uhrzeit = Left(Result, 5) & " Uhr"
Result = Replace(Result, "<td valign=" & Chr(34) & "middle" & Chr(34) & " width=" & Chr(34) & "476" & Chr(34) & "><span class=" & Chr(34) & "headline" & Chr(34) & ">","")
If Instr(1, Result, "<a") > 0 Then
Dummy = "<span class=" & Chr(34) & "link-intern" & Chr(34) & "><u>"
Result = Right(Result, Len(Result) - Instr(1, Result, Dummy) - Len(Dummy) + 1)
Dummy = "</u></span>"
res_Programmname = Left(Result, Instr(1, Result, Dummy) - 2) & " - "
Else
Dummy = "<span class=" & Chr(34) & "headline" & Chr(34) & ">"
Result = Right(Result, Len(Result) - Instr(1, Result, Dummy) - Len(Dummy) + 1)
Dummy = "</span></span>"
res_Programmname = Left(Result, Instr(1, Result, Dummy) - 2) & " - "
End If
Result = Right(Result, Len(Result) - Instr(1, Result," ShowView ") - Len(" ShowView ") + 1)
Dummy = "<br></span>"
res_ShowView = Left(Result, Instr(1, Result, Dummy) - 1)
SendLine "PRIVMSG " & ToChannel & " :" & ReRPL(Sender) & ": " & res_Uhrzeit & " - " & res_Programmname & res_Showview & ")", 3
Next
End If
SockClose vsock
ServerContent = ""
End Select
End Sub
Function RPL(DAT)
For i = 1 To Len(DAT)
Select Case Mid(DAT, i, 1)
Case "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "_", "-", ".", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0": F = F & Mid(DAT, i, 1)
Case Else: F = F & "%" & Hex(Asc(Mid(DAT, i, 1)))
End Select
Next
RPL = F
End Function
Function ReRPL(DAT)
For i = 1 To Len(DAT)
If Mid(DAT, i, 1) = "%" Then
F = F & Chr(CInt("&H" & Mid(DAT, i + 1, 2)))
i = i + 2
Else
F = F & Mid(DAT, i, 1)
End If
Next
ReRPL = UCase(F)
End Function
Function GetSender(vSender)
Select Case LCase(vSender)
Case "rtl"
vSender = "RTL"
Case "vox"
vSender = "VOX"
Case "rtl-2", "rtl2"
vSender = "RTL 2"
Case "pro7", "p7", "pro.7"
vSender = "Pro 7"
Case "sat1", "sat.1"
vSender = "SAT.1"
Case "sw3", "swiii"
vSender = "SW III"
Case "viva2", "v2"
vSender = "VIVA II"
Case "kinderkanal", "kika"
vSender = "KINDER KANAL"
Case "ard"
vSender = "ARD"
Case "wdr"
vSender = "WDR"
Case "zdf"
vSender = "ZDF"
Case "k1", "kabel1"
vSender = "KABEL 1"
Case "srtl", "superrtl", "super-rtl"
vSender = "S-RTL"
Case "k1", "kabel1"
vSender = "KABEL 1"
Case "arte"
vSender = "ARTE"
Case "9live", "neunlive"
vSender = "NEUNLIVE"
Case "3sat"
vSender = "3SAT"
Case "ndr"
vSender = "NDR"
Case "west"
vSender = "WEST"
Case "bayern"
vSender = "BAYERN"
Case "mdr"
vSender = "MDR"
Case "hessen", "hr"
vSender = "HESSEN"
Case "tvb", "tvberlin", "tv-berlin"
vSender = "TV BERLIN"
Case "tvm", "tvmünchen", "tv-münchen"
vSender = "MUNCHEN"
Case "hh1"
vSender = "HH1"
Case "sfb1"
vSender = "SFB1"
Case "orb"
vSender = "ORB"
Case "fab"
vSender = "FAB"
Case "ok-berlin", "okb", "ok-berl"
vSender = "OK-BERL"
Case "franken"
vSender = "FRANKEN"
Case "mtv"
vSender = "MTV"
Case "mtv2", "mtv-2"
vSender = "MTV2"
Case "vivaplus", "viva-plus", "vp"
vSender = "VIVAPLUS"
Case "premiere"
vSender = "PREMIERE"
Case "dsf"
vSender = "DSF"
Case "eurosport", "e-sport"
vSender = "E-SPORT"
Case "ntv", "n-tv", "news-tv"
vSender = "N-TV"
Case "euronews", "e-news"
vSender = "E-NEWS"
Case "phoenix"
vSender = "PHOENIX"
Case "cnn"
vSender = "CNN"
Case "nbc"
vSender = "NBC"
Case "tnt"
vSender = "TNT"
Case "cartoon", "cartoon-network"
vSender = "CARTOON"
Case "france2", "france-2", "f2", "fr2"
vSender = "FRANCE 2"
Case "fr3", "france3", "france-3", "f3"
vSender = "FR3"
Case "tv5", "tv-5"
vSender = "TV5"
Case "tf1", "tf1.fr"
vSender = "TF1"
Case "orf1", "orf-1"
vSender = "ORF1"
Case "orf2", "orf-2"
vSender = "orf2"
Case "tsr"
vSender = "TSR"
Case "dk1", "dk-1"
vSender = "DK1"
Case "dk2", "dk-2"
vSender = "DK2"
Case "sf1", "sf-1"
vSender = "SF1"
Case "nl1", "nl-1"
vSender = "NL1"
Case "nl2", "nl-2"
vSender = "NL2"
Case "nl3", "nl-3"
vSender = "NL3"
Case "trt"
vSender = "TRT"
Case "tsi1", "tsi-1"
vSender = "TSI1"
Case Else
vSender = "abort"
End Select
GetSender = vSender
End Function
Sub ResetLastRequest
LastRequest = ""
LastRequest2 = ""
End Sub
Sub CheckFlood
If FloodCounter > 0 Then FloodCounter = FloodCounter - 1
If FloodCounter2 > 0 Then FloodCounter2 = FloodCounter2 - 1
TimedCommand "CheckFlood", 120
End Sub