AnGelBot-Portal²

Normale Version: Wetterscript
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Hab das Script wie gewohnt in Bot geladen, aber beim ausführen vom Befehl (!wetter plz) passiert einfach nichts.

Hab Bot neugestartet, script raus wieder rein.. Hab ich etwas übersehen?
Etwas vergessen zu machen?

Ähnlich geht mir mit dem Bash script, alle andere wie z.B. Bar oder Masshighlight laufen einwandfrei.

thx schon mal im Voraus
rejoin mal den Channel wenn der Bot drin iss
nö, nützt auch nix :(
welches Wetterscript hast du denn geladen? Am besten postest du mal den code hier
Zitat:'===============================
'Erstellt mit [ABP]AVS 1.0.5
'AnGelBot Visual Scripting

'Visit us online @ http://www.angelbot-portal.de/
'===============================
'Programmiert von Sp33d
'===============================

'Verfügbar Variablen (case-sensitive!):
' %TIME% - Uhrzeit der Information
' %DATE% - Datum der Information
' %CITY% - Stadt mit der zugehörigen PLZ
' %TEMP% - Aktuelle Temperatur
' %DRUCK% - Druck in hPa
' %WIND% - Windrichtung (Nord, Süd, West, Ost,...)
' %WIND_BFT% - Windstärke in Bft (Beaufort Skala)
' %WIND_STR% - Windstärke als Text, abgeleitet vom Bftwert (mäßiger Wind, Sturm,...)
' %WIND_MS% - Windgeschwindigkeit in m/s, abgeleitet vom Bftwert
' %WIND_KNT% - Windgeschwindigkeit in Knoten, abgeleitet vom Bftwert

Const vMessage = "(%TIME%) %CITY%: Aktuelle Temperatur beträgt %TEMP% bei einem Luftdruck von %DRUCK%. Der Wind weht aus %WIND% mit %WIND_BFT% Bft (%WIND_STR%; %WIND_MS% m/s; %WIND_KNT% Knoten)."
Const WetterHost = "www.wetter.com"

Dim Searches()

Sub Init()
Script "Wetterscript 1.0b by Sp33d"
Hook "Priv_Msg"
Hook "Chan_Msg"
ReDim Searches(0)
End Sub

Sub Priv_Msg(Nick, RegUser, Line)
Chan_Msg Nick, Nick, RegUser, Line
End Sub

Sub Chan_Msg(Chan, Nick, RegUser, Line)
If LCase(Param(Line, 1)) = "!wetter" Then
If Param(Line, 2) <> "" Then
If IsNumeric(Param(Line, 2)) Then
For i = 1 To UBound(Searches)
If Searches(i).Finished = 1 Then
Searches(i).Index = i
Searches(i).Recipient = Chan
Searches(i).PLZ = Param(Line, 2)
Searches(i).Special = GetRest(Line, 3)
Searches(i).Finished = 0
Searches(i).DoSearch
Exit Sub
End If
Next

ReDim Preserve Searches(UBound(Searches) + 1)
i = UBound(Searches)
Set Searches(i) = New Search
Searches(i).Index = i
Searches(i).Recipient = Chan
Searches(i).PLZ = Param(Line, 2)
Searches(i).Special = GetRest(Line, 3)
Searches(i).Finished = 0
Searches(i).DoSearch
End If
End If
End If
End Sub

Class Search
Public Index, Recipient, PLZ, Finished, Special
Private Recieved, URL

Public Sub SockEvent(vSock, SEvent, SData)
Select Case SEvent
Case SE_Connected
SockWrite vSock, "GET http://" & WetterHost & URL & " HTTP/1.0" & vbCrLf & vbCrLf
Case SE_Read
Recieved = Recieved & SData
Case SE_Closed
SockClose vSock
If Instr(1, Recieved, "aktuelle Ortszeit") > 0 Then
Dummy = "f" & Chr(34) & "><span class=" & Chr(34) & "tabHeadline" & Chr(34) & ">"
Results = Right(Recieved, Len(Recieved) - Instr(1, Recieved, Dummy) - Len(Dummy) + 1)
res_Ort = Left(Results, Instr(1, Results, "</span>") - 1)

Dummy = "<div class=" & Chr(34) & "headlineHell2" & Chr(34) & ">"
Results = Right(Recieved, Len(Recieved) - Instr(1, Recieved, Dummy) - Len(Dummy) + 1)

Dummy = "<br>"
res_Datum = Left(Results, Instr(1, Results, Dummy) - 1)
Results = Right(Results, Len(Results) - Instr(1, Results, Dummy) - Len(Dummy) + 1)
res_Time = Left(Results, 5) & " Uhr OZ"

Dummy = "<span class=" & Chr(34) & "tabHeadline" & Chr(34) & ">"
Results = Right(Results, Len(Results) - Instr(1, Results, Dummy) - Len(Dummy) + 1)
res_Himmel = Left(Results, Instr(1, Results, "</span>") - 1)

Dummy = "<span class=" & Chr(34) & "tabBody" & Chr(34) & ">"
Results = Right(Results, Len(Results) - Instr(1, Results, Dummy) - Len(Dummy) + 1)
res_Temperatur = Left(Results, Instr(1, Results, "</span>") - 1) & "° C"

Dummy = "<td align=" & Chr(34) & "right" & Chr(34) & "><span class=" & Chr(34) & "tabBody" & Chr(34) & ">"
Results = Right(Results, Len(Results) - Instr(1, Results, Dummy) - Len(Dummy) + 1)
res_Luftdruck = Left(Results, Instr(1, Results, "</span>") - 1) & " hPa"

Dummy = "2" & Chr(34) & "><span class=" & Chr(34) & "tabBody" & Chr(34) & ">"
Results = Right(Results, Len(Results) - Instr(1, Results, Dummy) - Len(Dummy) + 1)
res_Windrichtung = Left(Results, Instr(1, Results, "</span>") - 1)

Dummy = "t" & Chr(34) & "><span class=" & Chr(34) & "tabBody" & Chr(34) & ">"
Results = Right(Results, Len(Results) - Instr(1, Results, Dummy) - Len(Dummy) + 1)
res_Windstaerke = Left(Results, Instr(1, Results, "</span>") - 1)

Dummy = Replace(vMessage, "%TIME%", res_Time)
Dummy = Replace(Dummy, "%CITY%", res_Ort)
Dummy = Replace(Dummy, "%DATE%", res_Datum)
Dummy = Replace(Dummy, "%TEMP%", Replace(res_Temperatur, " ", ""))
Dummy = Replace(Dummy, "%DRUCK%", res_Luftdruck)
Dummy = Replace(Dummy, "%WIND%", res_Windrichtung)
Dummy = Replace(Dummy, "%WIND_BFT%", res_Windstaerke)
Dummy = Replace(Dummy, "%WIND_STR%", BftToStr(res_Windstaerke))
Dummy = Replace(Dummy, "%WIND_MS%", BftToMs(res_Windstaerke))
Dummy = Replace(Dummy, "%WIND_KNT%", BftToKnt(res_Windstaerke))
SendLine "PRIVMSG " & Recipient & " :" & Dummy, 2
ElseIf Instr(1, Recieved, "nicht bekannt...") > 0 Then
SendLine "PRIVMSG " & Recipient & " :5* " & PLZ & " not found in database", 3
ElseIf Instr(1, Recieved, "PLZ-SUCHE") > 0 Then
SendLine "PRIVMSG " & Recipient & " :5* No or several cities found for " & PLZ, 3
End If
Recieved = vbNullString
Finished = 1
End Select
End Sub

Public Sub DoSearch()
If PLZ <> "" And Recipient <> "" And Finished <> 1 Then
If Special = "" Then
URL = "/home/structure/control.php?sessionID=&Lang=DE&ms=1&ss=1&sss=2&search=" & PLZ
TheSock = SockConnect(WetterHost, 80, "Searches(" & Index & ").SockEvent")
If TheSock = 0 Then
SpreadFlagMessage 0, "+m", "5*** WetterScript Error: Socket couldn't be opened."
SendLine "PRIVMSG " & Recipient & " :5Sry, but an error occured while opening the socket. Try again later."
End If
Else
If LCase(Param(Special, 1)) = "forecast" Then
Select Case Param(Special, 2)
Case Else
SendLine "PRIVMSG " & Recipient & " :5* Die Syntax ist: !wetter <PLZ> [<forecast> [<2|5|10>]]", 3
End Select
Else
SendLine "PRIVMSG " & Recipient & " :5* Die Syntax ist: !wetter <PLZ> [<forecast> [<2|5|10>]]", 3
End If
End If
End If
End Sub
End Class


Function BftToStr(vBft)
If vBft <> "" Then
If IsNumeric(vBft) Then
Select Case vBft
Case 0
BftToStr = "Windstille"
Case 1
BftToStr = "schwache Brise"
Case 2
BftToStr = "leichte Brise"
Case 3
BftToStr = "schwacher Wind"
Case 4
BftToStr = "mäßiger Wind"
Case 5
BftToStr = "frischer Wind"
Case 6
BftToStr = "starker Wind"
Case 7
BftToStr = "steifer Wind"
Case 8
BftToStr = "stürmischer Wind"
Case 9
BftToStr = "Sturm"
Case 10
BftToStr = "schwerer Sturm"
Case 11
BftToStr = "orkanartiger Sturm"
Case 12
BftToStr = "Orkan"
Case Else
BftToStr = "??"
End Select
End If
End If
End Function


Function BftToMs(vBft)
If vBft <> "" Then
If IsNumeric(vBft) Then
Select Case vBft
Case 0
BftToMs = "0 - 0,2"
Case 1
BftToMs = "0,3 - 1,5"
Case 2
BftToMs = "1,6 - 3,3"
Case 3
BftToMs = "3,4 - 5,4"
Case 4
BftToMs = "5,5 - 7,9"
Case 5
BftToMs = "8,0 - 10,7"
Case 6
BftToMs = "10,8 - 13,8"
Case 7
BftToMs = "13,9 - 17,1"
Case 8
BftToMs = "17,2 - 20,7"
Case 9
BftToMs = "20,8 - 24,4"
Case 10
BftToMs = "24,5 - 28,4"
Case 11
BftToMs = "28,5 - 32,6"
Case 12
BftToMs = "mehr als 32,7"
Case Else
BftToMs = "??"
End Select
End If
End If
End Function

Function BftToKnt(vBft)
If vBft <> "" Then
If IsNumeric(vBft) Then
Select Case vBft
Case 0
BftToKnt = "weniger als 1"
Case 1
BftToKnt = "1 - 3"
Case 2
BftToKnt = "4 - 6"
Case 3
BftToKnt = "7 - 10"
Case 4
BftToKnt = "11 - 16"
Case 5
BftToKnt = "17 - 21"
Case 6
BftToKnt = "22 - 27"
Case 7
BftToKnt = "28 - 33"
Case 8
BftToKnt = "34 - 40"
Case 9
BftToKnt = "41 - 47"
Case 10
BftToKnt = "48 - 55"
Case 11
BftToKnt = "56 - 63"
Case 12
BftToKnt = "mehr als 64"
Case Else
BftToKnt = "??"
End Select
End If
End If
End Function

das da ^^
Hiho,

denkbarer Fehler wäre auch, dass du deinen Befehl !wetter nicht schwarz, sondern farbig schreibst, darauf kann das Script net reagieren.

Sollte das so sein,einfach folgende Zeile zufügen :

Code:
Line = Strip(Line)

direkt unter diese Zeile :

Code:
Sub Chan_Msg(Chan, Nick, RegUser, Line)

vllt. hilft dir das weiter..

Grüßle,
       Markus
oki, es ist in weiss ^^ aber wo bitte genau muss ich die zeilen einfügen, an welcher stell? sry bin recht n00big sowas betreffend.
Code:
'===============================
'Erstellt mit [ABP]AVS 1.0.5
'AnGelBot Visual Scripting

'Visit us online @ http://www.angelbot-portal.de/
'===============================
'Programmiert von Sp33d
'===============================

'Verfügbar Variablen (case-sensitive!):
' %TIME% - Uhrzeit der Information
' %DATE% - Datum der Information
' %CITY% - Stadt mit der zugehörigen PLZ
' %TEMP% - Aktuelle Temperatur
' %DRUCK% - Druck in hPa
' %WIND% - Windrichtung (Nord, Süd, West, Ost,...)
' %WIND_BFT% - Windstärke in Bft (Beaufort Skala)
' %WIND_STR% - Windstärke als Text, abgeleitet vom Bftwert (mäßiger Wind, Sturm,...)
' %WIND_MS% - Windgeschwindigkeit in m/s, abgeleitet vom Bftwert
' %WIND_KNT% - Windgeschwindigkeit in Knoten, abgeleitet vom Bftwert

Const vMessage = "(%TIME%) %CITY%: Aktuelle Temperatur beträgt %TEMP% bei einem Luftdruck von %DRUCK%. Der Wind weht aus %WIND% mit %WIND_BFT% Bft (%WIND_STR%; %WIND_MS% m/s; %WIND_KNT% Knoten)."
Const WetterHost = "www.wetter.com"

Dim Searches()

Sub Init()
Script "Wetterscript 1.0b by Sp33d"
Hook "Priv_Msg"
Hook "Chan_Msg"
ReDim Searches(0)
End Sub

Sub Priv_Msg(Nick, RegUser, Line)
Chan_Msg Nick, Nick, RegUser, Line
End Sub

Sub Chan_Msg(Chan, Nick, RegUser, Line)
Line = Strip(Line)
If LCase(Param(Line, 1)) = "!wetter" Then
If Param(Line, 2) <> "" Then
If IsNumeric(Param(Line, 2)) Then
For i = 1 To UBound(Searches)
If Searches(i).Finished = 1 Then
Searches(i).Index = i
Searches(i).Recipient = Chan
Searches(i).PLZ = Param(Line, 2)
Searches(i).Special = GetRest(Line, 3)
Searches(i).Finished = 0
Searches(i).DoSearch
Exit Sub
End If
Next

ReDim Preserve Searches(UBound(Searches) + 1)
i = UBound(Searches)
Set Searches(i) = New Search
Searches(i).Index = i
Searches(i).Recipient = Chan
Searches(i).PLZ = Param(Line, 2)
Searches(i).Special = GetRest(Line, 3)
Searches(i).Finished = 0
Searches(i).DoSearch
End If
End If
End If
End Sub

Class Search
Public Index, Recipient, PLZ, Finished, Special
Private Recieved, URL

Public Sub SockEvent(vSock, SEvent, SData)
Select Case SEvent
Case SE_Connected
SockWrite vSock, "GET http://" & WetterHost & URL & " HTTP/1.0" & vbCrLf & vbCrLf
Case SE_Read
Recieved = Recieved & SData
Case SE_Closed
SockClose vSock
If Instr(1, Recieved, "aktuelle Ortszeit") > 0 Then
Dummy = "f" & Chr(34) & "><span class=" & Chr(34) & "tabHeadline" & Chr(34) & ">"
Results = Right(Recieved, Len(Recieved) - Instr(1, Recieved, Dummy) - Len(Dummy) + 1)
res_Ort = Left(Results, Instr(1, Results, "</span>") - 1)

Dummy = "<div class=" & Chr(34) & "headlineHell2" & Chr(34) & ">"
Results = Right(Recieved, Len(Recieved) - Instr(1, Recieved, Dummy) - Len(Dummy) + 1)

Dummy = "<br>"
res_Datum = Left(Results, Instr(1, Results, Dummy) - 1)
Results = Right(Results, Len(Results) - Instr(1, Results, Dummy) - Len(Dummy) + 1)
res_Time = Left(Results, 5) & " Uhr OZ"

Dummy = "<span class=" & Chr(34) & "tabHeadline" & Chr(34) & ">"
Results = Right(Results, Len(Results) - Instr(1, Results, Dummy) - Len(Dummy) + 1)
res_Himmel = Left(Results, Instr(1, Results, "</span>") - 1)

Dummy = "<span class=" & Chr(34) & "tabBody" & Chr(34) & ">"
Results = Right(Results, Len(Results) - Instr(1, Results, Dummy) - Len(Dummy) + 1)
res_Temperatur = Left(Results, Instr(1, Results, "</span>") - 1) & "° C"

Dummy = "<td align=" & Chr(34) & "right" & Chr(34) & "><span class=" & Chr(34) & "tabBody" & Chr(34) & ">"
Results = Right(Results, Len(Results) - Instr(1, Results, Dummy) - Len(Dummy) + 1)
res_Luftdruck = Left(Results, Instr(1, Results, "</span>") - 1) & " hPa"

Dummy = "2" & Chr(34) & "><span class=" & Chr(34) & "tabBody" & Chr(34) & ">"
Results = Right(Results, Len(Results) - Instr(1, Results, Dummy) - Len(Dummy) + 1)
res_Windrichtung = Left(Results, Instr(1, Results, "</span>") - 1)

Dummy = "t" & Chr(34) & "><span class=" & Chr(34) & "tabBody" & Chr(34) & ">"
Results = Right(Results, Len(Results) - Instr(1, Results, Dummy) - Len(Dummy) + 1)
res_Windstaerke = Left(Results, Instr(1, Results, "</span>") - 1)

Dummy = Replace(vMessage, "%TIME%", res_Time)
Dummy = Replace(Dummy, "%CITY%", res_Ort)
Dummy = Replace(Dummy, "%DATE%", res_Datum)
Dummy = Replace(Dummy, "%TEMP%", Replace(res_Temperatur, " ", ""))
Dummy = Replace(Dummy, "%DRUCK%", res_Luftdruck)
Dummy = Replace(Dummy, "%WIND%", res_Windrichtung)
Dummy = Replace(Dummy, "%WIND_BFT%", res_Windstaerke)
Dummy = Replace(Dummy, "%WIND_STR%", BftToStr(res_Windstaerke))
Dummy = Replace(Dummy, "%WIND_MS%", BftToMs(res_Windstaerke))
Dummy = Replace(Dummy, "%WIND_KNT%", BftToKnt(res_Windstaerke))
SendLine "PRIVMSG " & Recipient & " :" & Dummy, 2
ElseIf Instr(1, Recieved, "nicht bekannt...") > 0 Then
SendLine "PRIVMSG " & Recipient & " :" & Chr(3) & "5* " & PLZ & " not found in database", 3
ElseIf Instr(1, Recieved, "PLZ-SUCHE") > 0 Then
SendLine "PRIVMSG " & Recipient & " :" & Chr(3) & "5* No or several cities found for " & PLZ, 3
End If
Recieved = vbNullString
Finished = 1
End Select
End Sub

Public Sub DoSearch()
If PLZ <> "" And Recipient <> "" And Finished <> 1 Then
If Special = "" Then
URL = "/home/structure/control.php?sessionID=&Lang=DE&ms=1&ss=1&sss=2&search=" & PLZ
TheSock = SockConnect(WetterHost, 80, "Searches(" & Index & ").SockEvent")
If TheSock = 0 Then
SpreadFlagMessage 0, "+m", "" & Chr(3) & "5*** WetterScript Error: Socket couldn't be opened."
SendLine "PRIVMSG " & Recipient & " :" & Chr(3) & "5Sry, but an error occured while opening the socket. Try again later."
End If
Else
If LCase(Param(Special, 1)) = "forecast" Then
Select Case Param(Special, 2)
Case Else
SendLine "PRIVMSG " & Recipient & " :" & Chr(3) & "5* Die Syntax ist: !wetter <PLZ> [<forecast> [<2|5|10>]]", 3
End Select
Else
SendLine "PRIVMSG " & Recipient & " :" & Chr(3) & "5* Die Syntax ist: !wetter <PLZ> [<forecast> [<2|5|10>]]", 3
End If
End If
End If
End Sub
End Class


Function BftToStr(vBft)
If vBft <> "" Then
If IsNumeric(vBft) Then
Select Case vBft
Case 0
BftToStr = "Windstille"
Case 1
BftToStr = "schwache Brise"
Case 2
BftToStr = "leichte Brise"
Case 3
BftToStr = "schwacher Wind"
Case 4
BftToStr = "mäßiger Wind"
Case 5
BftToStr = "frischer Wind"
Case 6
BftToStr = "starker Wind"
Case 7
BftToStr = "steifer Wind"
Case 8
BftToStr = "stürmischer Wind"
Case 9
BftToStr = "Sturm"
Case 10
BftToStr = "schwerer Sturm"
Case 11
BftToStr = "orkanartiger Sturm"
Case 12
BftToStr = "Orkan"
Case Else
BftToStr = "??"
End Select
End If
End If
End Function


Function BftToMs(vBft)
If vBft <> "" Then
If IsNumeric(vBft) Then
Select Case vBft
Case 0
BftToMs = "0 - 0,2"
Case 1
BftToMs = "0,3 - 1,5"
Case 2
BftToMs = "1,6 - 3,3"
Case 3
BftToMs = "3,4 - 5,4"
Case 4
BftToMs = "5,5 - 7,9"
Case 5
BftToMs = "8,0 - 10,7"
Case 6
BftToMs = "10,8 - 13,8"
Case 7
BftToMs = "13,9 - 17,1"
Case 8
BftToMs = "17,2 - 20,7"
Case 9
BftToMs = "20,8 - 24,4"
Case 10
BftToMs = "24,5 - 28,4"
Case 11
BftToMs = "28,5 - 32,6"
Case 12
BftToMs = "mehr als 32,7"
Case Else
BftToMs = "??"
End Select
End If
End If
End Function

Function BftToKnt(vBft)
If vBft <> "" Then
If IsNumeric(vBft) Then
Select Case vBft
Case 0
BftToKnt = "weniger als 1"
Case 1
BftToKnt = "1 - 3"
Case 2
BftToKnt = "4 - 6"
Case 3
BftToKnt = "7 - 10"
Case 4
BftToKnt = "11 - 16"
Case 5
BftToKnt = "17 - 21"
Case 6
BftToKnt = "22 - 27"
Case 7
BftToKnt = "28 - 33"
Case 8
BftToKnt = "34 - 40"
Case 9
BftToKnt = "41 - 47"
Case 10
BftToKnt = "48 - 55"
Case 11
BftToKnt = "56 - 63"
Case 12
BftToKnt = "mehr als 64"
Case Else
BftToKnt = "??"
End Select
End If
End If
End Function
naja eigentlich hatte ich es "oben" ja genau beschrieben..

direkt unter die Zeile :

Code:
Sub Chan_Msg(Chan, Nick, RegUser, Line)

in "kurzform" sieht das dann so aus:

Code:
Sub Chan_Msg(Chan, Nick, RegUser, Line)
Line = Stripe(Line)

abba Firefox hat nun nochmal den gesamten Code reingewurschtelt...
ok, dann hab ich falsch gelesen, ich schau gleich ma und sag dann obs gefunzt hat Wink
Seiten: 1 2 3 4
Referenz-URLs