AnGelBot-Portal²

Normale Version: Neue Links von daemlich.net in den chan posten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi!

Hätte gerne für http://daemlich.net/ ein script das die neusten Links in den chan postet, also den direktlink.

z.b.

[Angel]: (neu auf daemlich.net): Titel Link

[Angel]: (neu auf daemlich.net): Freundin loswerden [mpg] >> http://daemlich.net/6274

MFG
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

sts
erstmal BIG THX an sts.

kann man die sendline nicht komplett ändern?
Ich bekomm immer:

Code:
[ 07:38:14 ]  [ @[Angel] ] Neue Links auf Daemlich.net ))  Daemlichen Link ansehen: Köööööööööööpfchen? KRANK! KRANK! KRANK! [wav] >> http://daemlich.net/6310

bekommt man:
Code:
Daemlichen Link ansehen:
nicht weg??

MFG
Babs oben mal edit. Musst mal testen, kam ich jetzt leider nicht zu.
sts
Perfekt^^
*** Daemlich.net-Ticker 1.0 © by sts: Couldn't recieve HTML page...


schau bitte mal
Bei mir derselbe Fehler :(
Kann jemand helfen plz?
Die Seite blockt Bots und verweist für selbige auf den RSS Feed, deshalb gabs auch keine Postings im Channel.

Hier eine etwas abgeänderte und gefixte Version: Download
(wegen den Sonderzeichen die falsch kopiert werden nur als Download)
Vielen Dank, Funzt bisher supie :D
Referenz-URLs