AnGelBot-Portal²

Normale Version: Update Script
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo leute,

ich kann inzwischen ein bisschen scripten aber irgentwie wirds nix mit meinem script:
also ich hab in einer php datei (auf nem server) daten vorliegen die unregelmäßig aktualisiert werden das sieht in etwa so aus:

1091027017||Titel1||http://www.Link-Name.de/titel1||PC
1091027069||Titel2||http://www.Link-Name.de/titel1||Programme
1091027418||Titel3||http://www.Link-Name.de/titel1||Ps2
1091027951||Titel4||http://www.Link-Name.de/titel1||PC

also: Unix-Timestamp||Titel||Link-Name||Kategorie

das alles am besten ohne farben un unnötigen schnickschnack
ich hoff des beansprucht ned viel arbeit...

der bot soll die php file regelmäßig überprüfen ob was neues da iss und das natürlich dann ungefähr so in den chan posten:

NEU in PC: Titel1: Direktlink: http://www.Link-Name.de/titel1

falls fragen bin ich immer da =)
Ohne genaue Adressangabe geht NIX!!
arbeitet schon wer dran?
pls sagt mir ob ihr da weiterkommt
Also wenn du die php-Datei bearbeiten kannst, dann mach das.
Am besten mit der Syntax:

<time_start>TIMESTAMP<time_end><title_start>TITEL<title_end><url_start>URL</url_end><cat_start>CATEGORIE</cat_end>

Würde das Parsen einfachder gestalten :D
stimmt nch swie, mit ParamX gehts ganz einfach *ggg*
aber ich habe keinen schimmer vom unixzeitteil :>


'EDIT'

unten die sendline darfste ändern, als variablen kannste zeit, link, name und genre verwenden wo die einzelnen variablen drinne sind :>
ich hoffe es klappt so *ggg*


mit !news on/off kannste news de-/aktivieren, geht leider nur in einem channel, aber du kannst es gerne erweitern das es in mehreren geht :>

Code:
Option Explicit

Dim ServerName, Port, cSock, check, Recieved, results, Channel, check2

Sub Init()
  Script "Newsticker by St4rg4t3"
  ServerName = "applelinks.org"
  Port = 80
  Hook "Chan_Msg"
End Sub

Sub Chan_Msg(Chan, Nick, RegUser, Line)
If Not MatchFlags(GetUserChanFlags(RegUser, Chan), "+n") Then Exit Sub
    If Channel = "" Then
        If LCase(Line) = "!news on" Then
            SendLine "PRIVMSG " & Chan & " :Newsticker ist aktiviert", 2
            check2 = 0
            Channel = Chan
            Refresh
        End If
    Else
        If LCase(Line) = "!news off" Then
            SendLine "PRIVMSG " & Chan & " :Newsticker ist deaktiviert", 2
            Channel = ""
            Recieved = ""
            results = ""
            check = ""
            check2 = 1
        End If
    End If
End Sub


Sub Refresh()
    TimedCommand "Refresh", 60
    cSock = SockConnect(ServerName, Port, "Connection")
End Sub

Sub Connection(SockNum, State, What)
  Select Case State
    Case SE_ConnectFailed
      SpreadFlagMessage 0, "+m", "14*** Connection failed " & What
    Case SE_Connected
      SockWrite SockNum, "GET /export/netgrabber.php HTTP/1.0"& vbCrLf & _
        "Accept: text/html"  & vbCrLf & _
        "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" & vbCrLf & _
        "Host: " & ServerName & vbCrLf & _
        "Pragma: no-cache" & vbCrLf & _
        "Connection: close" & vbCrLf & vbCrLf
    Case SE_Read
        Recieved = Recieved & What
    Case SE_Closed
        If check2 = 1 Then Exit Sub
            If InStr(Recieved, vbCrLf) > 0 Then
                Dim result, zeit, name, link, genre
                result = Left(Recieved, InStr(Recieved, vbCrLf))
                If check <> results Then
                    zeit = ParamX(result, "||", 1)
                    name = ParamX(result, "||", 2)
                    link = ParamX(result, "||", 3)
                    genre = GetRestX(results, "||", 3)
                    SendLine "PRIVMSG " & Channel & " :hier darfste gestalten ^^", 2
                End If
            End If
        check = results
        Recieved = ""
  End Select
End Sub
Ok hab den Quelltext nicht angeschaut.. Sollte gehen.
Timestamp ist ganz easy.
Ist das ist die Zeit in Sekunden seit dem Beginn der unix epoche 01.01.1970, 00:00h.

Also einfach ein Vergleich machen, ob der neu geparste Timestamp größer ist als der alte. Wenn ja ist der neue neuer. :D
hmmm BIG THX
funzt aber leider ned

bekomm fehlermeldung bei !news on

Error : 450 (Falsche Anzahl an Argumenten oder ungültige Eigenschaftszuweisung: 'LCase')
Position: Line 15, Column 8
Excerpt : If LCase(Line,1) = "!news on" Then
Command : Chan_msg "#chan", "Jonesy", "Jonesy", "!news on"

:(
nur so zur info, ist längst editiert Wink
hmmm funzt immer noch ned...
müsst aber oder? Rolling Eyes Wink

also es funzt eigentlich alles nur kommt nix...!
Seiten: 1 2
Referenz-URLs