|
PasteIt Eintrag #242 |
| Autor: |
eXploder |
| Titel: |
Bundesliga Live-Ticker v2.0 by sts & paradoxon |
| Beschreibung: |
siehe script |
| Code |
- '+--------------------------------------------------+
-
'¦ Bundesliga Live-Ticker v2.0 by sts & paradoxon
-
'¦ ChannelSetup © Sp33d
-
'¦
-
'¦ Don`t change the author!
-
'¦
-
'¦ Website : www.AnGelBot-Portal.de
-
'¦
-
'¦--------------------------------------------------+
-
'¦ PartyLine Setup ------------[x]
-
'¦ Anlegung einer INI-Datei ---[x]
-
'¦ Channeleinstellungen ------ [x]
-
'¦--------------------------------------------------+
-
'##############Help#######################
-
'Das Script wird individuell gestartet. Trigger legt Ihr in den Konstanten
-
'(StartTrigger & EndTrigger) fest. Standardmäßg sind diese
-
'"!bl_start" zum Starten und "!bl_end" zum Beenden des Scripts.
-
'Wie oft der Bot dann nach neuen Ereignissen schauen soll, legt Ihr
-
'selbst fest. Dies erfolgt wieder über eine Kostante(CheckTime), die Ihr
-
'vor dem Laden des Scripts festlegt. Den Trigger für das
-
'Partyline Setup Ihr setzt wieder mit Hilfe einer Konstanten,
-
'welche Ihr wieder vor dem Laden des Script festlegen müsst.
-
'Die aktiven Channels legt Ihr dann in diesem Setup fest.
-
-
'##############Einstellungen##################
-
-
Const nFlag = "m" 'Benötigter Flag im Bot zum Starten des Scripts
-
Const StartTrigger = "!bl_start" 'Trigger um das Script zu starten
-
Const EndTrigger = "!bl_end" 'Trigger um das Script zu beenden
-
Const DebugIt = False 'Erweiterte Meldungen
-
Const Trigger = "bundesliga" 'Konfigurationtrigger auf der Partyline
-
Const CheckTime = 20 'Zeitgabe wann der Bot nach neuen News schauen soll (in s)
-
-
'###############Don't Change!!################
-
-
Const Host = "linpop.zdf.de"
-
Const INIFile = "FileArea\INI\bundesligaliveticker2.ini"
-
Const ScriptVersion = "v2.0"
-
Const ScriptName = "Bundesliag Live-Ticker"
-
Const ScriptAuthor = "sts, Sp33d & paradoxon"
-
-
Dim Channels, LastNews, Recieved
-
-
Sub Init()
-
Dim xx
-
-
Script "1,0 «4•1» 4[ " & ScriptName & " ]1 Script 4[ " & ScriptVersion & " ]1 by 4[ " & ScriptAuthor & " ] 1«4•1» "
-
SpreadFlagMessage 0, "+m", "1,0 «4•1» 4[ " & ScriptName & " ]1 Script 4[ " & ScriptVersion & " ]1 by 4[ " & ScriptAuthor & " ]1 loaded 1«4•1» "
-
Hook "Commands"
-
Hook "Chan_Msg"
-
AddCommand ". " & Trigger, Cl_Mas, "+m", "2*** ." & Trigger & "##14Zeigt das " & ScriptName & " Setup in dem die Channel,##14in denen der Ticker angezeigt werden soll verändert##14werden können."
-
ReloadChannels
-
SpreadFlagMessage 0, "+m", "3Um das Script zu konfigurieren gib nun ." & Trigger & " ein."
-
SpreadFlagMessage 0, "+m", ""
-
SpreadFlagMessage 0, "+m", "Script Informationen:"
-
SpreadFlagMessage 0, "+m", ""
-
Status = ReadINIString("Settings", "Status", "", INIFile)
-
If Status = "on" Then
-
xx = "aktiv"
-
ElseIf Status = "off" Then
-
xx = "nicht aktiv"
-
End If
-
SpreadFlagMessage 0, "+m", "Script: " & xx
-
SpreadFlagMessage 0, "+m", ""
-
SpreadFlagMessage 0, "+m", "Benötigter Flag zum Starten und Beendes des Scripts: +" & nFlag
-
SpreadFlagMessage 0, "+m", "Trigger zum Starten des Scripts: " & StartTrigger
-
SpreadFlagMessage 0, "+m", "Trigger zum Beenden des Scripts: " & EndTrigger
-
SpreadFlagMessage 0, "+m", "News CheckTime: " & CheckTime
-
SpreadFlagMessage 0, "+m", "Name der INIDatei: " & INIFile
-
SpreadFlagMessage 0, "+m", "Partyline Trigger: ." & Trigger
-
SpreadFlagMessage 0, "+m", "Scriptname: " & Scriptname
-
End Sub
-
-
Sub ReloadChannels()
-
Channels = ReadINIString("Settings", "Channels", "", INIFile)
-
End Sub
-
-
Sub Chan_Msg(Chan, Nick, RegUser, Line)
-
Status = ReadINIString("Settings", "Status", "off", INIFile)
-
-
If MatchFlags(GetUserFlags(RegUser), "+" & nFlag) Then
-
If InStr(1, Channels, Chan) > 0 Then
-
If LCase(Param(Line,1)) = StartTrigger Then
-
If Status = "on" Then
-
Sendline "Notice " & Nick & " : Script ist schon aktiv",3
-
Else
-
GetNews
-
WriteINIString "Settings", "Status", "on", INIFile
-
If DebugIt Then SpreadFlagMessage 0, "+m", "Script wurde soebend von " & Nick & " im " & Chan & " aktiviert"
-
Sendline "Notice " & Nick & " : Script wurde soebend von dir gestartet",3
-
End If
-
ElseIf LCase(Param(Line,1)) = EndTrigger Then
-
If Status = "off" Then
-
Sendline "Notice " & Nick & " : Script ist zurzeit nicht aktiv",3
-
Else
-
LastNews = ""
-
WriteINIString "Settings", "Status", "off", INIFile
-
If DebugIt Then SpreadFlagMessage 0, "+m", "Script wurde soebend von " & Nick & " im " & Chan & " beendet"
-
Sendline "Notice " & Nick & " : Vielen Da für die Benutzung des Scripts. Bis zum nächsten Spieltag.",3
-
End If
-
End If
-
End If
-
End If
-
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 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, " 11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1____________________ ___2,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
-
TU vSock, "11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1_0,1 " & ScriptName & " Setup 1,1_2,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
-
TU vSock, " 11,0,%0,11%'12,11,%11,12%'2,12,%12,2%'1,2,%2,1%'1,1____________________ ___2,1'%1,2%,12,2'%2,12%,11,12'%12,11%,0,11'%11,0%,"
-
TU vSock, " "
-
TU vSock, "Willkommen im Setup vom " & Version & "!"
-
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
-
-
Dim xx
-
-
Status = ReadINIString("Settings", "Status", "off", INIFile)
-
If Status = "on" Then
-
xx = "aktiv"
-
ElseIf Status = "off" Then
-
xx = "nicht aktiv"
-
End If
-
-
-
TU vSock, " "
-
TU vSock, "0,1Farben: 14 " & ReadINIString("Settings", "Farben", "On", INIFile)
-
TU vSock, "0,1Script ist zurzeit 14 " & xx
-
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, " - codes on um Colors/UnderLine/Blod zu aktivieren"
-
TU vSock, " - codes off um Colors/UnderLine/Blod zu deaktiveren"
-
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"
-
ReloadChannels
-
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
-
ReloadChannels
-
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
-
Case "status"
-
If LCase(Param(Line, 2)) = "on" Then
-
WriteINIString "Settings", "Status", "on", INIFile
-
TU vSock, "3*** Script wurden aktiviert"
-
SetSockTag vSock, "MainMenu"
-
StatusSetup vSock, RegUser, Flags, ""
-
ElseIf LCase(Param(Line, 2)) = "off" Then
-
WriteINIString "Settings", "Status", "off", INIFile
-
TU vSock, "3*** Script wurden deaktiviert"
-
SetSockTag vSock, "MainMenu"
-
StatusSetup vSock, RegUser, Flags, ""
-
Else
-
TU vSock, "5*** Syntax: color <on | off>"
-
End If
-
Case "codes"
-
If LCase(Param(Line, 2)) = "on" Then
-
WriteINIString "Settings", "Farben", "on", INIFile
-
TU vSock, "3*** Farben wurden aktiviert"
-
SetSockTag vSock, "MainMenu"
-
StatusSetup vSock, RegUser, Flags, ""
-
ElseIf LCase(Param(Line, 2)) = "off" Then
-
WriteINIString "Settings", "Farben", "off", INIFile
-
TU vSock, "3*** Farben wurden deaktiviert"
-
SetSockTag vSock, "MainMenu"
-
StatusSetup vSock, RegUser, Flags, ""
-
Else
-
TU vSock, "5*** Syntax: color <on | off>"
-
End If
-
Case Else
-
TU vSock, "5*** Ungültiger Befehl"
-
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", 120
-
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 /sport/bl1/konferenz.htm"
-
Else
-
Header = "GET http://" & Host & "/sport/bl1/konferenz.htm"
-
End If
-
-
SockWrite vSock, Header & " HTTP/1.0" & vbCrLf & Header2 & _
-
"Accept: text/html" & vbCrLf & _
-
"User-Agent: AnGeL-Bot " & LongBotVersion & " (www.AnGelBot-Portal.de)" & vbCrLf & _
-
"Host: " & Host & vbCrLf & _
-
"Pragma: no-cache" & vbCrLf & _
-
"Connection: close" & vbCrLf & vbCrLf
-
Case SE_Read
-
Recieved = Recieved & SData
-
Case SE_Closed
-
Status = ReadINIString("Settings", "Status", "", INIFile)
-
If Status = "on" Then
-
If DebugIt Then SpreadFlagMessage 0, "+m", "Script: aktiv"
-
If InStr(1, Recieved, "<div class=""message-box-top"">") > 0 Then
-
Recieved = Replace(Recieved, vbCrLf, vbNullString)
-
-
Dummy = "<div class=""message-box-left"">"
-
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
-
-
Dummy = "<div class=""minute"">"
-
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
-
-
tmp_minute = Left(Recieved, InStr(1, Recieved, "</div>") - 1 )
-
If DebugIt Then SpreadFlagMessage 0, "+m", "Minute:" & tmp_minute
-
-
Dummy = "class=""message-header"">"
-
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
-
-
tmp_spiel = Left(Recieved, InStr(1, Recieved, "</a>") - 1 )
-
If DebugIt Then SpreadFlagMessage 0, "+m", "Spiel: " & tmp_spiel
-
-
Dummy = "<p>"
-
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
-
-
tmp_beschreibung = Left(Recieved, InStr(1, Recieved, "</p>") - 1 )
-
tmp_beschreibung = Replace(tmp_beschreibung, vbLf, "")
-
tmp_beschreibung = Replace(tmp_beschreibung, " ", "")
-
-
If InStr(1, tmp_beschreibung, "<img src=") Then
-
Dummy = "class=""message-player-img"" />"
-
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
-
-
tmp_beschreibung = Left(Recieved, InStr(1, Recieved, "</p>") - 1 )
-
tmp_beschreibung = Replace(tmp_beschreibung, vbLf, "")
-
tmp_beschreibung = Replace(tmp_beschreibung, " ", "")
-
End If
-
-
If DebugIt Then SpreadFlagMessage 0, "+m", "Beschreibung: " & tmp_beschreibung
-
-
If Not tmp_minute = vbNullString Then
-
Dummy = "1,0 «4•1» 4[ " & tmp_minute & " Minute ] [ " & tmp_spiel & " ] 1" & tmp_beschreibung & " 1«4•1» "
-
Else
-
Dummy = "1,0 «4•1» 4[ " & tmp_spiel & " ] 1" & tmp_beschreibung & "1«4•1» "
-
End If
-
-
If Dummy <> LastNews Then
-
If DebugIt Then SpreadFlagMessage 0, "+m", "New news!"
-
LastNews = Dummy
-
Dummy = Split(Channels, " ")
-
For i = LBound(Dummy) To UBound(Dummy)
-
If DebugIt Then SpreadFlagMessage 0, "+m", "Sending to " & Dummy(i) & " :" & "PRIVMSG " & Dummy(i) & " :" & LastNews
-
color = ReadINIString("Settings", "Farben", "on", INIFile)
-
If color = "on" Then
-
SendLine "PRIVMSG " & Dummy(i) & " : " & LastNews, 2
-
ElseIf color = "off" Then
-
SendLine "PRIVMSG " & Dummy(i) & " : " & Strip(LastNews), 2
-
End If
-
Next
-
End If
-
-
Else
-
SpreadFlagMessage 0, "+m", "5*** " & ScriptName & ": Couldn't recieve HTML page..."
-
End If
-
Recieved = vbNullString
-
-
TimedCommand "GetNews", CheckTime
-
ElseIf Status = "off" Then
-
If DebugIt Then SpreadFlagMessage 0, "+m", "Script nicht aktiv. Script wird nun beendet"
-
Exit Sub
-
LastNews = ""
-
End If
-
End Select
-
End Sub
-
-
Function Trim3(Text)
-
Trim3 = Replace(Replace(Trim(Text), " ", " "), " ", " ")
-
End Function
|
|