AnGelBot-Portal²

Normale Version: Need Scripter for News :)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Huhu,
ich bräucht ein script dass die news aus der seite hier ausliest:
http://www.gangwars.org/gangwars/main.php
hoff mal jemand macht sich die mühe Wink

Thx schon mal Smile
HiHo

Code:
'+-------------------------------------+
'¦ GangWar News-Ticker 1.0 © by sts
'¦ ChannelSetup © Sp33d

'¦ Don`t change the author!

'¦ Website : www.angel-bot.org
'¦ Script Archive: www.angel-bot.org/system/anypage/index.php?id=2
'¦-------------------------------------+
'##############Einstellungen##################


'###########Host zur Forum! (ohne http://#################
Const Host = "www.gangwars.org"

Const DebugIt = False        'Erweiterte Meldungen
Const Trigger = "gangwars"        'Konfigurationtrigger auf der Partyline
Const CheckTime = 60     'Zeitgabe wann der Bot nach neuen News schauen soll (in s)


'###############Don't Change!!################


Const INIFile = "ini_gangwars.ini"
Const ScriptVersion = "GangWar News-Ticker 1.0 © by sts"
Const ScriptName = "GangWar News-Ticker 1.0 © by sts"


Dim Channels, LastNews, Recieved


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, " - 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"
            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 "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 /gangwars/main.php"
      Else
        Header = "GET http://" & Host & "/gangwars/main.php"
      End If


      SockWrite vSock, Header & " HTTP/1.0" & vbCrLf & Header2 & _
                      "Accept: text/html"  & vbCrLf & _
                      "User-Agent: AnGeL-Bot " & LongBotVersion & " (www.Saug-Hilfe-Fuer-Alle.com)" & 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, "Latest News") > 0 Then
        Recieved = Replace(Recieved, vbCrLf, vbNullString)


        Dummy = "Latest News"
        Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
        Dummy = "<b>"
        Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
        tmp_Titel = Left(Recieved, InStr(1, Recieved, "</b>") - 1 )
        If DebugIt Then SpreadFlagMessage 0, "+m", "" & tmp_Titel

        Dummy = "<br />"
        Recieved = Right(Recieved, Len(Recieved) - InStr(1, Recieved, Dummy) - Len(Dummy) + 1)
        tmp_News = Left(Recieved, InStr(1, Recieved, "</li>") - 1 )
        tmp_News = Replace(Replace(Replace(tmp_News, vbCr, ""), VbCrLf, ""), vbLf, "")
        If DebugIt Then SpreadFlagMessage 0, "+m", "" & tmp_News



        Dummy = "2,15» " & tmp_Titel & " »» " & tmp_News

        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
  End Select
End Sub

Function Trim3(Text)
  Trim3 = Replace(Replace(Trim(Text), "   ", " "), "  ", " ")
End Function


MfG & HF sts
hallo,
ich interessiere mich ebenfalls für dieses script nur leider hat sich die aufmachung der site n bissl geändert.
http://www.gangwars.de/gangwars/news.html ist die neue seite wo man sich alle 60 sec die news fetchen kann.
die addy hatte ich schon verändert aber das hat leider nichts bis auf ne fehlermeldung gebracht.
Couldn't recieve HTML page...
danke für eure hilfe
Referenz-URLs