PREBOT IRC SCRIPT mit BUG - Hilfe

#1
Code:
# Displys Scene Releases that have been Pred on the website [URL='http://www.orlydb.com']www.orlydb.com[/URL] ##

namespace eval pre {
  variable language "FRENCH|GERMAN|SWEDISH|DANSIH|DUTCH|FINNISH|NORWEGIAN|SPANiSH"
  #"APPS 0DAY MOBILE ANiME AUDiOBOOKS COVERS DOX EBOOKS IMAGESET SAMPLES UNKNOWN MP3 MVIDS MDVDR TV TV-BLURAY TV-DVDR TV-DVDRiP TV-HR TV-x264 TV-XViD VCD BLURAY x264 XViD SVCD TRAILERS SUBPACK DiVX DVDR Wii XBOX XBOX360 GAMEBOY GAMECUBE GAMES DREAMCAST NDS PS1 PS2 PS3 PSP PSX PSXPSP XXX XXX-IMGSET"
  variable types "APPS 0DAY MOBILE MP3 TV-DVDR TV-DVDRiP TV-HR TV-x264 TV-XViD x264 XViD XXX XXX-IMGSET"
  #Set to channel to show Pre information
  variable chan "#Chan"
  #Change preNum to how many Search Results you want shown
  variable Num 5
}
set PreNew ""

#Change to (on/off) to turn on pre bot
set status "on"

bind pub - !pre presearch
bind dcc - pre pre:change

proc pre {} {
  global PreNew status
  if {$status == "on"} {
    set PreOld $PreNew
    set url "[URL]http://www.orlydb.com[/URL]"
    set page [web2data $url]
    if {$page!=0} {
      regexp {"timestamp">(.*?)<\/span>} $page a stamp
      regexp {"section"><a.*?>(.*?)<\/a>} $page a section
      regexp {"release">(.*?)<\/span>} $page a release
      if {[info exists release]} { set PreNew "$stamp $section $release"
          if {![regexp -nocase $pre::language $release] && [regexp -nocase $section $pre::types] && $PreNew != $PreOld} { putquick "PRIVMSG $pre::chan :\00308(\00315PRE\00308)\00315 $stamp \00308(\00315$section\00308)\00315 $release" }
      }
    }
  }
  utimer 2 pre
}

proc pre:change {hand idx arg} {
  global status
  if {$status == "on"} { set status "off"
  } else { set status "on" }
  putdcc $idx "Pre status changed to: $status"
}
proc presearch { nick host hand chan arg } {
  set arg [string map { " " "+" } $arg]
  set url "[URL]http://www.orlydb.com/?q=$arg[/URL]"
  set page [web2data $url]
  set temp 1
  while {$temp <= $pre::Num && [regexp {<div>(.*?)<\/div>} $page a result]} {
    if {[info exists result]} {
      regexp {"timestamp">(.*?)<\/span>} $result a stamp
      regexp {"section"><a.*?>(.*?)<\/a>} $result a section
      regexp {"release">(.*?)<\/span>} $result a release
      regsub {<div>(.*?)<\/div>} $page "" page
      if {![regexp -nocase $pre::language $release]} {
        if {[info exists release]} { incr temp
          putquick "PRIVMSG $chan :\00304(\00315PRE\00304)\00315 $stamp \00304(\00315$section\00304)\00315 $release"
          unset stamp section release
        }
      }
    }
  }
  if {$temp==0} { putquick "PRIVMSG $chan :\00304(\00315PRE\00304)\00315 Nothing Found" }
}
proc web2data { website } {
    package require http
    if { [catch { set token [http::geturl $website -timeout 100000]} error] } {  return 0
     } elseif { [http::ncode $token] == "404" } { return 0
     } elseif { [http::status $token] == "ok" } { set data [http::data $token]
     } elseif { [http::status $token] == "timeout" } {  return 0
     } elseif { [http::status $token] == "error" } {  return 0 }
    http::cleanup $token
    if { [info exists data] } { return $data
    } else { return 0 }
}

utimer 2 pre

putlog "\00308(\00315PRE\00308)"
An einer Stelle im Script sollte er wenn man !pre rlsname hinschreibt ein output geben - tut er aber nicht!!!
das einzige was er macht is !pre eminem

dann zeigt er rlsnamen mit eminem drin an...

kann da einer mal drüber schauen?
 
Zuletzt bearbeitet von einem Moderator:
#2
vielleicht mal das "\[url\]" und "\[/url\]" rausnehmen? x.x zumindest ist laut google im original das so nicht drin und der sollte auch eminem nicht finden könnnen eigtl.
 
#3
Kann evtl. jemand sagen, ob er eine Lösung hat?

Die Klammern [URL][/URL] sind von allein erstellt worden hier, im Script sind die nicht drin, alles funktioniert nur die presearch Ausgabe leider nicht... :(

Moderator Notiz: Hab das mal angepasst. URL-Tags versteht unser Forum nämlich auch ;)
 
Zuletzt bearbeitet von einem Moderator:

DJFelipe

Well-Known Member
c-b Experte
#6
Wie hast du das Problem denn gelöst, wenn die Webseite schon lang keine Suchergebnisse mehr liefert?o_O
Und illegal ist es nicht, da muss ich zustimmen...


Tante Edith:
Übrigens ist das kein 'Prebot' sondern nur eine Webseitenabfrage... Außerdem hängt OrlyDB extrem nach und führt leider nicht alles auf, was wirklich gepre't worden ist..
 
Oben