03.03.2006, 20:35 Uhr
Hi,
hab mal aus nem Script von sts ein Wm-Script gebastelt. Es geht darum sich die Gruppenergebnisse von http://fifaworldcup.yahoo.com/06/de/w/group/index.html
anzeigen zu lassen. Kurze Erklärung:
Im Script selber einstellen ob mit oder ohne Farben. Dazu halt die Zeile
entsprechend ändern.
Den Rest, also in welchen Channels, im Setup in der PL eingeben.
Im chan mit !gruppe bzw gleich mit !gruppe >A - H<, je nach dem welche man halt sehen will.
Habs in allen Variationen getestet und es funzt bei mir einwandfrei.
Achja, nicht wundern, die Ländernamen werden automatisch gekürzt um die Spalten einigermassen untereinander zu kriegen. Es werden im moment die ersten 7 Buchstaben angezeigt, wenn ihr da mehr wollt dann folgende Zeilen ändern:
Einfach die *7* durch die entsprechende Anzahl ersetzen.
So, bei Bugs oder Änderungswünschen einfach hier rein damit.
Das Script:
ps: mein erstes *großes* umgebasteltes Script, vieles vielleicht umständlich und noch einige unnötige Überreste, aber es funzt(bei mir). Also nehmt Rücksicht
hab mal aus nem Script von sts ein Wm-Script gebastelt. Es geht darum sich die Gruppenergebnisse von http://fifaworldcup.yahoo.com/06/de/w/group/index.html
anzeigen zu lassen. Kurze Erklärung:
Im Script selber einstellen ob mit oder ohne Farben. Dazu halt die Zeile
Code:
Const Color = True ' Farbe ( True/False )Den Rest, also in welchen Channels, im Setup in der PL eingeben.
Im chan mit !gruppe bzw gleich mit !gruppe >A - H<, je nach dem welche man halt sehen will.
Habs in allen Variationen getestet und es funzt bei mir einwandfrei.
Achja, nicht wundern, die Ländernamen werden automatisch gekürzt um die Spalten einigermassen untereinander zu kriegen. Es werden im moment die ersten 7 Buchstaben angezeigt, wenn ihr da mehr wollt dann folgende Zeilen ändern:
Code:
If Len(tmp_land) <> 7 Then
Line = Left(tmp_land & ". . . . . . ", 7)So, bei Bugs oder Änderungswünschen einfach hier rein damit.
Das Script:
Code:
'+-------------------------------------+
'| WM 2006 © by sts & Nukleos
'| THX @ Sp33d 4 Capitalize Function!!
'| Don`t change the author!
'|
'| Website : www.angelbot.dyndns.org
'|-------------------------------------+
'| PartyLine Setup ------------[x]
'| Anlegung einer INI-Datei ---[x]
'| Channeleinstellungen ------ [x]
'|-------------------------------------+
'##############Einstellungen##################
Const DebugIt = False 'Erweiterte Meldungen ( True/False )
Const Trigger = "wm2006" 'Konfigurationtrigger auf der Partyline
Const Color = True ' Farbe ( True/False )
'###############Don't Change!!################
Const Host = "fifaworldcup.yahoo.com"
Const INIFile = "wm2006.ini"
Const Gruppen = "a b c d e f g h"
Const ScriptVersion = "WM 2006 © by sts & Nukleos"
Const ScriptName = "WM 2006"
Dim Channels, LastNews, Recieved, Zeichen, Channel
Sub Init()
SpreadFlagMessage 0, "+m", "3 " & ScriptVersion
Hook "Commands"
Hook "Chan_Msg"
AddCommand ". " & Trigger, Cl_Mas, "+m", "2*** ." & Trigger & "##14Zeigt das " & ScriptName & " Setup in dem die Channels,##14in denen das WM-Script aktiv sein soll verändert##14werden können."
ReloadChannels
SpreadFlagMessage 0, "+m", "3Um das Script zu konfigurieren gib nun ." & Trigger & " ein."
End Sub
Sub ReloadChannels()
Channels = ReadINIString("Settings", "Channels", "", INIFile)
End Sub
Sub Commands(vSock, RegUser, Flags, Line)
If LCase(Param(Line, 1)) = "." & Trigger Then
GrabUser vSock, "" & ScriptName & " Setup", "StatusSetup"
SetSockTag vSock, "MainMenu"
StatusSetup vSock, RegUser, Flags, ""
End If
End Sub
Sub Chan_Msg(Chan, Nick, RegUser, Line)
If InStr(1, Channels, Chan) > 0 Then
If LCase(Param(Line,1)) = "!gruppe" Then
If LCase(Param(Line, 2)) = "" Then
Sendline "PrivMsg " & Chan & " :Es stehen folgende Gruppen zur Verfügung:",3
Sendline "PrivMsg " & Chan & " :A, B, C, D, E, F, G, H ( zb >!Gruppe F< )",3
Exit Sub
Else
If InStr(1, Gruppen, LCase(Param(Line,2))) > 0 Then
Zeichen = Param(Line,2)
Channel = Chan
GetNews
End If
End If
End If
End If
End Sub
Sub StatusSetup(vSock, RegUser, Flags, Line)
If Param(Line, 1) = "0" Then
TU vsock, "10*** Saving settings..."
ReleaseUser vSock
Exit Sub
End If
Select Case LCase(Param(GetSockTag(vSock), 1))
Case "mainmenu"
TU vSock, " 4,1©4,14©4,15©4,0 sts 4,15©4,14©4,1© 1,1___||________________________|__4,1©4,14©4,15©4,0sts4,15©4,14©4,1©"
TU vSock, " 4,1©4,14©4,15©4,0 sts 4,15©4,14©4,1© 0,1 " & ScriptVersion & " 4,1©4,14©4,15©4,0sts4,15©4,14©4,1©"
TU vSock, " 4,1©4,14©4,15©4,0 sts 4,15©4,14©4,1© 1,1___||________________________|__4,1©4,14©4,15©4,0sts4,15©4,14©4,1©"
TU vSock, " "
TU vSock, "Willkommen im Setup vom " & ScriptName & "-Script!"
TU vSock, "Du befindest dich im Hauptmenü."
TU vSock, " "
TU vSock, "0,1Ticker Channels:"
Dummy = Split(Channels, " ")
For i = LBound(Dummy) To UBound(Dummy)
TU vSock, "14 - " & Dummy(i)
Next
TU vSock, " "
TU vSock, " - chan add #channel um einen Channel der Liste hinzuzufügen"
TU vSock, " - chan del #channel um einen Channel aus Liste zu löschen"
TU vSock, ""
TU vSock, " - 0 um zurück auf die Partyline zu kommen."
SetSockTag vSock, "MainMenuOption"
Case "mainmenuoption"
Select Case LCase(Param(Line, 1))
Case "chan"
If LCase(Param(Line, 2)) = "add" Then
Channels = Trim3(Channels & " " & Param(Line, 3))
WriteINIString "Settings", "Channels", Channels, INIFile
TU vSock, "3*** Channel " & LCase(Param(Line, 3)) & " wurde hinzugefügt"
SetSockTag vSock, "MainMenu"
StatusSetup vSock, RegUser, Flags, ""
ElseIf LCase(Param(Line, 2)) = "del" Then
Channels = Trim3(Replace(LCase(Channels), LCase(Param(Line, 3)), ""))
WriteINIString "Settings", "Channels", Channels, INIFile
TU vSock, "3*** Channel " & LCase(Param(Line, 3)) & " wurde entfernt"
SetSockTag vSock, "MainMenu"
StatusSetup vSock, RegUser, Flags, ""
Else
TU vSock, "5*** Syntax: chan <add | del> <#channel>"
End If
End Select
End Select
End Sub
Sub GetNews()
vSock = SockConnect(Host, 80, "SockEvent")
If vSock = 0 Then
If DebugIt Then SpreadFlagMessage 0, "+m", "5*** " & Host & ": Couldn't create socket"
TimedCommand "GetNews", 60
End If
End Sub
Sub SockEvent(vSock, SEvent, SData)
Dim Header2
Select Case SEvent
Case SE_ConnectFailed
If DebugIt Then SpreadFlagMessage 0, "+m", "5*** " & ScriptName & ": Connection to " & Host & " failed"
TimedCommand "GetNews", CheckTime
Case SE_Connected
If Proxy = vbNullString Then
Header = "GET /06/de/w/group/index.html"
Else
Header = "GET http://" & Host & "/06/de/w/group/index.html"
End If
SockWrite vSock, Header & " HTTP/1.0" & vbCrLf & Header2 & _
"Accept: text/html" & vbCrLf & _
"User-Agent: AnGeL-Bot " & LongBotVersion & " (www.AnGelBot.dyndns.org)" & vbCrLf & _
"Host: " & Host & vbCrLf & _
"Pragma: no-cache" & vbCrLf & _
"Connection: close" & vbCrLf & vbCrLf
Case SE_Read
Recieved = Recieved & SData
Case SE_Closed
If InStr(1, Recieved, "Gruppe A") > 0 Then
Recieved = ReplaceHTMLCode(Recieved)
If Color = True Then
Sendline "PrivMsg " & Channel & " :11,14Gruppe " & Capitalize(Zeichen) & ":",2
Sendline "PrivMsg " & Channel & " :0,1Land . . .| » S « | » g « | » u « | » v « | » + « | » - « | » P « | ",2
Else
Sendline "PrivMsg " & Channel & " :Gruppe " & Capitalize(Zeichen) & ":",2
Sendline "PrivMsg " & Channel & " :Land . . .| » S « | » g « | » u « | » v « | » + « | » - « | » P « | ",2
End If
Dummy = "Gruppe " & Capitalize(Zeichen)
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
For i = 1 to 4
Dummy = "border=0> "
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
tmp_land = Left(Recieved, InStr(1, Recieved, "<") - 1 )
Dummy = "<td>"
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
tmp_spiel = Left(Recieved, InStr(1, Recieved, "<") - 1 )
Dummy = "<td>"
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
tmp_gew = Left(Recieved, InStr(1, Recieved, "<") - 1 )
Dummy = "<td>"
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
tmp_unen = Left(Recieved, InStr(1, Recieved, "<") - 1 )
Dummy = "<td>"
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
tmp_verl = Left(Recieved, InStr(1, Recieved, "<") - 1 )
Dummy = "<td>"
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
tmp_plus = Left(Recieved, InStr(1, Recieved, "<") - 1 )
Dummy = "<td>"
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
tmp_minus = Left(Recieved, InStr(1, Recieved, "<") - 1 )
Dummy = "class=b>"
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
tmp_punkt = Left(Recieved, InStr(1, Recieved, "<") - 1 )
If Len(tmp_land) <> 7 Then
Line = Left(tmp_land & ". . . . . . ", 7)
Else
Line = tmp_land
End If
If Color = True Then
Sendline "PrivMsg " & Channel & " :11,1" & Line & " | » " & tmp_spiel & " « | » " & tmp_gew & " « | » " & tmp_unen & " « | » " & tmp_verl & " « | » " & tmp_plus & " « | » " & tmp_minus & " « | » " & tmp_punkt & " « | ",2
Else
Sendline "PrivMsg " & Channel & " :" & Line & " | » " & tmp_spiel & " « | » " & tmp_gew & " « | » " & tmp_unen & " « | » " & tmp_verl & " « | » " & tmp_plus & " « | » " & tmp_minus & " « | » " & tmp_punkt & " « | ",2
End If
Next
Else
SpreadFlagMessage 0, "+m", "5*** " & ScriptName & ": Couldn't recieve HTML page..."
End If
Recieved = vbNullString
End Select
End Sub
Function Trim3(Text)
Trim3 = Replace(Replace(Trim(Text), " ", " "), " ", " ")
End Function
Function ReplaceHTMLCode(Text)
Text = Replace(Text, vbCr,"")
Text = Replace(Text, VbCrLf,"")
Text = Replace(Text, vbFormFeed,"")
Text = Replace(Text, vbLf,"")
Text = Replace(Text, vbNewLine,"")
Text = Replace(Text, vbNullChar,"")
Text = Replace(Text, vbTab,"")
Text = Replace(Text, vbVerticalTab,"")
ReplaceHTMLCode = Text
End Function
Function Capitalize(Line)
Capitalize = UCase(Left(Line, 1)) & LCase(Mid(Line, 2))
End Functionps: mein erstes *großes* umgebasteltes Script, vieles vielleicht umständlich und noch einige unnötige Überreste, aber es funzt(bei mir). Also nehmt Rücksicht
![[Bild: wmpic6ab.jpg]](http://img322.imageshack.us/img322/9696/wmpic6ab.jpg)
gefällt mir