|
PasteIt Eintrag #224 |
| Autor: |
eXploder |
| Titel: |
Heise-NewsTicker v1.2b |
| Beschreibung: |
ChannelSetup © Sp33d
Bugfixes and Layout © by paradoxon
Rest © by sts |
| Code |
- Const Host = "www.heise.de"
-
Const INIFile = "FileArea\INI\heise.ini"
-
Const ScriptVersion = "v1.2b"
-
Const ScriptName = "Heise-NewsTicker"
-
Const ScriptAuthor = "sts, Sp33d & paradoxon"
-
Const DebugIt = False
-
-
Dim Channels, LastNews, Recieved
-
-
Sub Init()
-
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"
-
AddCommand "heise", Cl_Mas, "+m", "2*** .heise##14Zeigt das " & ScriptName & " Setup in dem die Channel,##14in denen der Ticker angezeigt werden soll verändert##14werden können."
-
ReloadChannels
-
GetNews
-
SpreadFlagMessage 0, "+m", "3Um das Script zu konfigurieren gib nun .heise ein."
-
End Sub
-
-
-
Sub ReloadChannels()
-
Channels = ReadINIString("Settings", "Channels", "", INIFile)
-
End Sub
-
-
Sub Commands(vSock, RegUser, Flags, Line)
-
If LCase(Param(Line, 1)) = ".heise" 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
-
-
TU vSock, " "
-
TU vSock, "0,1Farben: 14 " & ReadINIString("Settings", "Farben", "Off", INIFile)
-
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, " - color on um Farben zu aktivieren"
-
TU vSock, " - color off um Farben 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"
-
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
-
Case "color"
-
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*** Seite existiert nicht mehr. Bitte melde dich im Forum ( www.AnGelBot-Portal.de ) "
-
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", 120
-
Case SE_Connected
-
If Proxy = vbNullString Then
-
Header = "GET /newsticker/"
-
Else
-
Header = "GET http://" & Host & "/newsticker/"
-
End If
-
-
-
SockWrite vSock, Header & " HTTP/1.0" & vbCrLf & Header2 & _
-
"Accept: text/html" & vbCrLf & _
-
"User-Agent: AnGeL-Bot " & LongBotVersion & " (www.Saug-Hilfe-Fuer-Alle.de)" & 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, "<div id=""mitte_news"">") > 0 Then
-
Recieved = Replace(Recieved, vbCrLf, vbNullString)
-
-
-
Dummy = "<div class=""tage"">"
-
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
-
-
Dummy = "<a href="""
-
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
-
-
tmp_Url = Left(Recieved, InStr(1, Recieved, """ title=") - 2 )
-
If DebugIt Then SpreadFlagMessage 0, "+m", "Adresse : http://" & host & "/newsticker/" & tmp_Url
-
-
Dummy = ">"
-
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
-
tmp_Titel = Left(Recieved, InStr(1, Recieved, "<") - 1 )
-
tmp_Titel = Replace(tmp_Titel, "ü", "ü")
-
tmp_Titel = Replace(tmp_Titel, "ä", "ä")
-
tmp_Titel = Replace(tmp_Titel, "ö", "ö")
-
tmp_Titel = Replace(tmp_Titel, "Ü", "Ü")
-
tmp_Titel = Replace(tmp_Titel, "Ä", "Ä")
-
tmp_Titel = Replace(tmp_Titel, "Ö", "Ö")
-
tmp_Titel = Replace(tmp_Titel, "ß", "ß")
-
tmp_Titel = Replace(tmp_Titel, """, """")
-
tmp_Titel = Replace(tmp_Titel, "&", "&")
-
tmp_Titel = Replace(tmp_Titel, "<", "<")
-
tmp_Titel = Replace(tmp_Titel, ">", ">")
-
If DebugIt Then SpreadFlagMessage 0, "+m", "Titel: " & tmp_Titel
-
-
-
Dummy = "1,0«4•1» 4[ New Heise.de News ]1 - 4[ Titel ]1 " & tmp_Titel & " 4[ URL ]1 http://" & host & tmp_URL & "l 1«4•1» "
-
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", "Off", 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 & ": HTML-Layout wurde geändert. Bitte melde dich im Forum ( www.AnGelBot-Portal.de )"
-
End If
-
Recieved = vbNullString
-
-
TimedCommand "GetNews", 120
-
End Select
-
End Sub
-
-
Function Trim3(Text)
-
Trim3 = Replace(Replace(Trim(Text), " ", " "), " ", " ")
-
End Function
|
|