Code:
'+-------------------------------------+
'¦ Daemlich.net-Ticker 1.0 © by sts
'¦ ChannelSetup © Sp33d
'¦
'¦ Don`t change the author!
'¦
'¦ Website : www.angel-bot.org (tmp down)
'¦-------------------------------------+
'###########Settings##########################
Const Host = "daemlich.net"
Const DebugIt = False 'Erweiterte Meldungen
Const Trigger = "daemlich" 'Konfigurationtrigger auf der Partyline
'###############Don't Change!!################
Const INIFile = "daemlich.ini"
Const ScriptVersion = "Daemlich.net-Ticker 1.0 © by sts"
Const ScriptName = "Daemlich.net-Ticker 1.0 © by sts"
Dim Channels, LastNews, Recieved, tmp_Url, tmp_Title
Sub Init()
SpreadFlagMessage 0, "+m", "3 " & ScriptVersion
Hook "Commands"
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
GetNews
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 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", "On", 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, " - set newsline um die Newsline zu setzten. (Mit Colors, Underline etc)"
TU vSock, ""
TU vSock, "Folgende Variablen stehen dazu zur Verfügung:"
TU vSock, "##URL## --> Anzeigen der URL-Adresse zu der News"
TU vSock, "##NEWS## --> NewsTitel"
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
Case "set"
If LCase(Param(Line, 2)) = "newsline" Then
WriteINIString "Settings", "News", GetRest(Line,3), INIFile
TU vSock, "3*** Neue NewsLine: " & GetRest(Line,3)
SetSockTag vSock, "MainMenu"
Else
TU vSock, "5*** Syntax: set <Your NewsLine>"
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 /"
Else
Header = "GET http://" & Host & "/"
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, "<td width=71 valign=""top"" bgcolor=""F0EFEF"" class=""TextGrey"">") > 0 Then
Recieved = Replace(Recieved, vbCrLf, vbNullString)
Dummy = "<td width=71 valign=""top"" bgcolor=""F0EFEF"" class=""TextGrey"">"
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 = "http://" & Host & Left(Recieved, InStr(1, Recieved, """") - 1 )
If DebugIt Then SpreadFlagMessage 0, "+m", "" & tmp_Url
Dummy = "title="""
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
Dummy = "ansehen:"
Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
tmp_Title = Left(Recieved, InStr(1, Recieved, """") - 1 )
If DebugIt Then SpreadFlagMessage 0, "+m", "" & tmp_Title
Dummy = GetVars(ReadINIString("Settings", "News", "Keine NewsLine gesetzt (siehe PL-Setup)", INIFile))
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", 300
End Select
End Sub
Function Trim3(Text)
Trim3 = Replace(Replace(Trim(Text), " ", " "), " ", " ")
End Function
Function GetVars(Line)
Text = Line
If InStr(1, Line, "##URL##") > 0 Then
Text = Replace(Text, "##URL##", tmp_Url)
End If
If InStr(1, Line, "##NEWS##") > 0 Then
Text = Replace(Text, "##NEWS##", tmp_Title)
End If
GetVars = Text
End Function