Bonjour a tous,
Je suis nouveau dans le monde des eggdrops et le langage de programmation Tcl.
Version de mon eggdrop : Eggdrop v1.8.4
J'ai configure l'eggdrop avec un peu de mal mais il fonctionne bien que je n'est acces a la party line uniquement par telnet, impossible d'y accede par dcc.
Cela pour l'instant ne me derange pas plus que ca.
Par contre j'ai recupere un script imdb.tcs qui lorsque je lance mon eggdrop le fait planter avec l'erreur suivante
invalid command name "::http::register"
while executing
"::http::register https 443 ::tls::socket"
Voici la partie du code qui pose probleme (c'est visiblement la gestion du tls)
#################################################################
# DO NOT MODIFY BELOW HERE UNLESS YOU KNOW WHAT YOU ARE DOING! #
#################################################################
if { $IMDB_ALTERNATIVE == 0 } { package require http 2.3 }
set packages(tls) [catch {package require tls}]; # https
::http::register https 443 ::tls::socket
J'ai fait quelques recherches sur internet mais sans succes
Merci d'avance pour votre aide.
Bienvenu dans le monde des eggdrops.
Il faudrait voir le script en entier, mais l'erreur ressemble à l'absence du chargement du package http. Donc, $IMDB_ALTERNATIVE qui n'est pas égal à 0.
Et pour ton problème de DCC, essaye en passant par le ctcp. Et c'est probablement dû à une mauvaise configuration de l'eggdrop (côté infos du réseau). Si l'eggdrop est hébergé chez toi, ça peut aussi venir de la box (ouverture de port, translation d'adresse, ...)
Bonjour CrazyCat,
Merci de m'avoir repondu aussi rapidement.
Concernant le script je le posterai ce soir, il est vrai que j'aurais du le faire des mon premier post
Concernant le dcc, l'eggdrop est heberge sur un vps. J' aussi essaye de passer par un ctcp ca ne fonctionne pas non plus
Par contre je vais quand meme essayer ce soir de faire un dcc avec une personne sur le channel, c'est peut etre mon irc qui est mal parametre.
A ce soir et merci de ton aide
04/06/2020, 17:59
(This post was last modified: 04/06/2020, 18:05 by Kossiwa.)
Voici le script imdb.tcl
En fichier joint je n'ai pas l'impression que ca marche
Code: ###############################################################################
## This iMDB.tcl requires Eggdrop1.6.0 or higher ##
## (c) 2003 by B0unTy ##
## ##
## ##
## changed by outz ##
## 19.04.2018 ##
## * imdb now requires https/tls - added support in the script. ##
## requires tcl tls package ##
## ##
## changed by outz ##
## 05.01.2018 ##
## * original search url akas.imdb.com seems to no longer exist. ##
## i've changed it to www.imdb.com to restore search functionality. ##
## ##
## changed by outz ##
## 14.12.2017 ##
## * refined first match regex as it was pulling the current promoted/ad ##
## movie and not the expected search result ##
## ##
## changed by sAnexeh ##
## 03.12.2016 ##
## * fixed infinite loop in %language introduced in 13.08.2016 version ##
## ##
## changed by sAnexeh ##
## 13.08.2016 ##
## * applied trim on %country, %language and %soundmix ##
## * removed extra spaces on %wcredits, %keywords, %country and %language ##
## * added spaces on %mcolor ##
## * fixed %company ##
## ##
## changed by sAnexeh ##
## 11.08.2016 ##
## * fixed %awards ##
## ##
## changed by sAnexeh ##
## 19.06.2016 ##
## * added Language_IP to get around IMDB's geolocation ##
## * removed extra lookup for %comment to improve performance because ##
## the URL _ajax/footer pointed pointed to a 404, rendering %comment ##
## useless (probably already was for a while) ##
## * added variable for User_Agent in imdb_proc te remove inconsistency ##
## * replaced comma with dot in %rating to allow round to work properly ##
## in the case of European math formats ##
## ##
## changed by sAnexeh ##
## 25.03.2016 ##
## * fixed %budget, %rating and %votes ##
## ##
## changed by sAnexeh ##
## 22.04.2014 ##
## * prevent unwanted newlines after pipe character (|) on %genre ##
## ##
## changed by sAnexeh ##
## 05.12.2013 ##
## * changed regexp causing incorrect search results due to introduced ads ##
## ##
## 19.01.2013 ##
## * changed by gr11x imdbsearchurl due to imdb's site modification ##
## * changed by spithash fixed issue with ##
## Tcl error [imdb_proc]: can't read "permission_result": no such variable"##
## ##
## changed by username and caesar ##
## 19.03.2012 ##
## * some random code trimming by username and caesar ##
## ##
## changed by username ##
## 16.03.2012 ##
## * changed the anti-flood protection, it was malfunctioning and it's now ##
## replaced with a new throttle control. ##
## ##
## changed by spithash ##
## 30.09.2011 ##
## * Fixed rating cause imdb's website has changed a little bit ##
## * Changed the default theme of 'set announce(IMDBIRC)' to my needs. ##
## Don't get nasty if it doesn't look like the old/default one. ##
## You can change it back to how you had it using your previous version. ##
## ##
## changed by znuff ##
## 23.08.2011 ##
## * Fixed parse of multiple cookies (release date, rating, rbar, votes, ##
## title, runtime, awards, comments, mpaa, cert) ##
## * Fixed color output for rbar ##
## * Set output to UTF-8 by default ##
## * Added a new cookie - bullet separator (%bull) ##
## * Runtime cookie now includes the prefix "min" ##
## * Changed default search url to akas.* to bypass the stupid localization ##
## of the title ##
## * Grabbing user comments makes another request to IMdb! ##
## * What I didn't fix: company, cast_multiline, cast_ine, screens - they ##
## do produce output, but not the desired one, and I have no intention ##
## to fix ##
## ##
## changed by username ##
## 19.10.2010 ##
## *fixed page parsing errors ##
## ##
## changed by OV2 ##
## 05.01.2010 ##
## *fixed remaining bugs with imdb changes ##
## ##
## 02.01.2010 ##
## *modified for imdb page changes ##
## ##
## 16.09.2008 ##
## *modified for new imdb page ##
## ##
## 25.05.2008 ##
## *plot works again ##
## ##
## 19.05.2008 ##
## *fixed the non-working cookies (cert, soundmix ...) ##
## * "|" characters in cookies are displayed again ##
## ##
## 21.09.2007 ##
## *multiline color/underline/bold were broken ##
## +added single-line cast (%castline) ##
## +added the remaining information from imdb (color, cert, etc...) ##
## ##
## 17.07.2007 ##
## *fix for the exact title matching ##
## *exact name matches are no longer confused with exact title matches ##
## ##
## 27.06.2007 ##
## *works with new imdb search page ##
## *%uline works again ##
## ##
## 09.04.2007: ##
## *fixed director/s writer/s ##
## +added support for plot keywords ##
## +added support for user comment line ##
## ##
## 28.02.2007: ##
## *ratings work again ##
## *director and writing credits work again ##
## ##
## 25.02.2007: ##
## *fixed some bugs of the previous changes (thanks to rosc2112) ##
## ##
## 24.02.2007: ##
## *bold/underline/color in front of the multiline cast will now be ##
## applied to each of the cast lines ##
## *the | character is now used to declare sections in the announce line ##
## if any variable in a section is not found on the imdb page, the ##
## corresponding section will not be displayed in the output ##
## (see the default announce line for an example) ##
## ##
## 22.02.2007: ##
## *incorporated some code from rosc2112's version ##
## *some small fixes ##
## ##
## 20.02.2007: ##
## *changed regexp queries to accomodate the new imdb layout ##
## *cleaned up the unneccesary post-regexp code ##
## ##
## 14.05.2006: ##
## *fixed plot outline not showing completely if it included links ##
## (thanks to darkwing for finding the bug) ##
## +added support for awards (thanks to rosc2112) ##
## +added support for the cast list (be careful with the limit) ##
## +added support for writing credits ##
## ##
## 21.01.2006: ##
## *fixed problem with irregular search-result pages from imdb ##
## ##
## 31.08.2005: ##
## *changed search result priority again: ##
## 1. popular match where the title=search string ##
## 2. exact matches ##
## 3. first title on page ##
## *fixed missig warn_msg var ##
## ##
## until 24.06.2005: ##
## *works with new IMDB ##
## *works with (hopefully) all search results (popular/exact/partial) ##
## +added timeouts (20secs) ##
## +added bottom 100 support ##
## +added rating bar from chilla's imdb-script ##
## +added flood control ##
## *small speedup (if your output does not include %screens or %budget ##
## *changed proc name to improve compatibility with other scripts ##
## *changed search result priority to {exact->first displayed} ##
## ##
###############################################################################
## ##
## INSTALL: ##
## ======== ##
## 1- Copy iMDB.tcl in your dir scripts/ ##
## 2- Add iMDB.tcl in your eggdrop.conf: ##
## source scripts/imdb.tcl ##
## ##
## For each channel you want users to use !imdb cmd ##
## Just type in partyline: .chanset #channel +imdb ##
## ##
###############################################################################
# COOKIES ARE :
# =============
# TITLE = %title | BOLD = %bold
# URL = %url | UNDERLINE = %uline
# DIRECTOR = %name | COLORS = %color#,#
# GENRE = %genre | NEW LINE = \n
# PLOT OUTLINE = %plot |-----------------------------
# RATING = %rating | !! to reset color code !!
# RATING_BAR = %rbar | !! use %color w/o args !!
# VOTES = %votes |
# RUNTIME = %time (incl. "min") | "|" declares a section
# AWARDS = %awards | if any cookie in a section
# BUDGET = %budget | is empty the whole section
# SCREENS = %screens | is removed from the output
# TAGLINE = %tagline | (end section with "|")
# MPAA = %mpaa |
# COUNTRY = %country |
# LANGUAGE = %language |
# SOUND MIX = %soundmix |
# TOP 250 = %top250 |
# CAST LINES = %castmline |
# CAST SNGLELINE = %castline |
# WRITING CREDITS = %wcredits |
# PLOT KEYWORDS = %keywords |
# COMMENT LINE = %comment |
# RELEASE DATE = %reldate |
# MOVIE COLOR = %mcolor |
# ASPECT RATIO = %aspect |
# CERTIFICATION = %cert |
# LOCATIONS = %locations |
# COMPANY = %company |
#
# + 19.10.2010
# Also Known As = %aka
# + 23.8.2011
# BULLET (separator)= %bull
#
# RANDOMIZING OUTPUT :
# ====================
# Exemple:
# set random(IMDBIRC-0) "IMDB info for %bold%title%bold Directed by %name"
# set random(IMDBIRC-1) "IMDB info for %title Directed by %bold%name%bold"
# set random(IMDBIRC-2) "IMDB info for %title Directed by %name"
# TYPE --------^ ^
# ID --------^
#
# set announce(IMDBIRC) "random 3"
# TYPE ---------^ ^ ^
# RANDOM ----------^ ^
# # OF IDS ---------^
#
# exemple random announces:
# set announce(IMDBIRC) "random 3"
# set random(IMDBIRC-0) "IMDB info for %bold%title%bold Directed by %name -> rated %uline%rating%uline (%votes votes) - genre: %genre - runtime: %time mins >> URL: %uline%url%uline >> Budget: %budget >> Screens: (USA) %screens"
# set random(IMDBIRC-1) "TITLE: %bold%title%bold - DIRECTOR: %name - RATE: %rating by %votes users - GENRE: %genre - RUNTIME: %time mins - URL: %url - BUDGET: %budget - SCREENS: (USA) %screens"
# set announce(IMDBIRC) "%bold%title%bold %color4-%color %url %color4-%color %boldDirected by:%bold %name %color4-%color %boldGenre:%bold %genre %color4-%color %boldRelease Date:%bold %reldate %color4-%color %boldBudget:%bold %budget %color4-%color %boldScreens:%bold %screens %color4-%color %boldRating:%bold%color7 %rating/10 %rbar %color14(%color3 %votes votes\%color14 )\n%boldPlot:%bold %plot%bold %color4-%color %boldRuntime:%bold %time."
# example normal announce:
# set announce(IMDBIRC) "\[%bold%title%bold\] \[%boldGenre:%bold %genre\] \[%boldTagline:%bold %tagline\] \[%boldRuntime:%bold %time mins\] \[%boldReleasedate:%bold %reldate\] \[%boldRating:%bold %rating (%votes votes)\] \[%boldURL:%bold %uline%url%uline#\]"
# set announce(IMDBIRC) "%bold%title%bold - %url\n|Rating: %rating (%votes votes) %rbar| |%top250|\n|%plot|"
# set announce(IMDBIRC) "%bold%title%bold |\[%time mins - %mcolor\]| - %url\n|Genre: %genre|\n|Tagline: %tagline|\n|Synopsis: %plot|\n|Rating: %rating (%votes votes) %rbar| |%color3%top250%color|\n|Awards: %awards|"
# set announce(IMDBIRC) "%bold%title%bold - %url\n|%boldGenre:%bold %genre|\n|Plot Keywords: %keywords|\n|Tagline: %tagline|\n|Synopsis: %plot|\n|Rating: %rating (%votes votes) %rbar| |%color3%top250%color|\n|Comment: %comment|\n|Awards: %awards|\n|Runtime: %time mins.|"
# old default announce format
# set announce(IMDBIRC) "%bold%title%bold %url\n|%boldRATiNG:%bold %rating/10 (from %votes users) %boldRUNTiME:%bold %time\n|%boldGENRE:%bold %genre"
# set default announce format
set announce(IMDBIRC) "\[%bold%title%bold\] \[%boldGenre:%bold %genre\] \[%boldTagline:%bold %tagline\] \[%boldRuntime:%bold %time mins\] \[%boldReleasedate:%bold %reldate\] \[%boldRating:%bold %rating (%votes votes)\] \[%boldURL:%bold %uline%url%uline#\]"
#trigger command in channel
set trigger ".imdb"
#rating bar color
#bracket
set barcol1 "14"
#stars
set barcol2 "7"
#cast count to return on multiline and single line (0 means no limit)
set cast_linelimit "0"
#http connection timeout (milliseconds)
set imdb_timeout "25000"
# Delay between command for each channel.
set delay 5
# for a channel !imdb request
# set to 1 = all results will be sent publicly to the channel
# set to 0 = all results will be sent as private notice
set pub_or_not 1
# use or not the imdb debugger (1=enable debug 0=disable debug)
set IMDB_DEBUG 1
# set IMDB_ALTERNATIVE 0 = use the internal tcl http 2.3 package
# set IMDB_ALTERNATIVE 1 = use the external curl 6.0+
set IMDB_ALTERNATIVE 1
# set here the location path where find curl 6.0+
set binary(CURL) "/usr/bin/curl"
# note for windrop: use normal slashes, e.g. C:/path/to/curl.exe
# User Agent used to do lookup to imdb
set User_Agent "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3"
# Language IP-address to be used
# IMDb (and specifically www.imdb.com in this case) use your geolocation to define the language for the movie title
# Sites like http://www.nirsoft.net/countryip/ will allow you to find an IP for the language you prefer
# For example: set Language_IP "62.4.31.1" will result in French movie titles
# For example: set Language_IP "54.71.255.1" will result in English movie titles
# Leave empty if you want IMDb to use your geolocation for your language
set Language_IP ""
#################################################################
# DO NOT MODIFY BELOW HERE UNLESS YOU KNOW WHAT YOU ARE DOING! #
#################################################################
if { $IMDB_ALTERNATIVE == 0 } { package require http 2.3 }
set packages(tls) [catch {package require tls}]; # https
::http::register https 443 ::tls::socket
setudef flag imdb
bind pub -|- $trigger imdb_proc
set instance 0
set warn_msg 0
proc htmlcodes {tempfile} {
# set mapfile [string map {& & ' ' ' ' [ ( \ / ] ) { ( } ) " " ? ? ? ? © © « « ® ® ? ? ? ? } $tempfile]
# set mapfile [string map {? ? · · ^(1) ^(1) » » 1/4 1/4 1/2 1/2 3/4 3/4 A` A` A' A' A^ A^ } $mapfile]
# set mapfile [string map {A~ A~ A" A" A* A* ? ? C, C, E` E` E' E' E^ E^ E" E" I` I` I' I' I^ I^ I" I" ? ? N~ N~ O` O` O' O' O^ O^ O~ O~ O" O" } $mapfile]
# set mapfile [string map {? ? ? ? U` U` U' U' U^ U^ U" U" Y' Y' ? ? ? ? a` a` a' a' a^ a^ a~ a~ a" a" a* a* ? ? c, c, e` e` e' e' e^ e^ } $mapfile]
# set mapfile [string map {e" e" i` i` i' i' i^ i^ i" i" ? ? n~ n~ o` o` o' o' o^ o^ o~ o~ o" o" ? ? ? ? u` u` u' u' u^ u^ u" u" y' y' ? ? } $mapfile]
set mapfile [string map { "" & "&" " \"} $tempfile]
return $mapfile
}
proc replacevar {strin what withwhat} {
set output $strin
set replacement $withwhat
set cutpos 0
while { [string first $what $output] != -1 } {
set cutstart [expr [string first $what $output] - 1]
set cutstop [expr $cutstart + [string length $what] + 1]
set output [string range $output 0 $cutstart]$replacement[string range $output $cutstop end]
}
return $output
}
proc findnth {strin what count} {
set ret 0
for {set x 0} {$x < $count} {incr x} {
set ret [string first $what $strin [expr $ret + 1]]
}
return $ret
}
proc imdb_proc { nick uhost handle chan arg } {
global cast_linelimit instance delay imdb_timeout barcol1 barcol2 IMDB_DEBUG pub_or_not announce random warn_msg trigger binary IMDB_ALTERNATIVE
variable imdb
# channel_check permission
# if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG permission_result == $permission_result" }
# if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG instance == $instance" }
# if {![channel get $chan imdb]} { return }
# public or private
if {$pub_or_not == 1 } { set toput "PRIVMSG $chan" } else { set toput "NOTICE $nick" }
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG toput_result == $toput" }
# if no arg passed, show help
if {$arg == ""} {
if { $IMDB_ALTERNATIVE == 0 } { set using "Http 2.3+" } else { set using "Curl 6.0+" }
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG no arg passed, show help" }
puthelp "$toput :IMDb info script \002v30.09.2011\002 using \002$using\002"
puthelp "$toput :\002Syntax: $trigger <movie title>\002 example: $trigger Beautiful Mind"
return
}
#flood-control
if {[info exists imdb(lasttime,$chan)] && [expr $imdb(lasttime,$chan) + $delay] > [clock seconds]} {
putserv "NOTICE $nick :You can use only 1 command in $delay seconds. Wait [expr $delay - [expr [clock seconds] - $imdb(lasttime,$chan)]] seconds and try again."
return 0
}
# initial search
set imdburl "https://www.imdb.com"
set imdbsearchurl "https://www.imdb.com/find?s=tt&exact=false&"
set searchString [string map {\ %20 & %26 , %2C} $arg]
variable User_Agent
variable Language_IP
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG searchString: \"$searchString\"" }
if { $IMDB_ALTERNATIVE == 0 } {
set page [::http::config -useragent $User_Agent]
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG ${imdbsearchurl}q=$searchString" }
if [catch {set page [::http::geturl ${imdbsearchurl}q=$searchString -headers [list X-FORWARDED-FOR $Language_IP] -timeout $imdb_timeout]} error] {
puthelp "$toput :Error retrieving URL... try again later."
::http::Finish $page
return
}
if { [::http::status $page] == "timeout" } {
puthelp "$toput :\002Connection to imdb.com timed out while doing initial search.\002"
::http::Finish $page
return
}
set html [::http::data $page]
::http::Finish $page
} else {
catch { exec $binary(CURL) "${imdbsearchurl}q=$searchString" } html
}
#if redirect necessary (search page), find first link and redirect
if { ([regexp {<title>Find - IMDb} $html] == 1) } {
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG redirect 1" }
set ttcode "0000001"
set start "0"
set temp $html
#dealing with different search results
set hit 0
if { [regexp -indices {Popular Titles} $temp tstart] } {
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG found popular titles" }
set temp2 [string range $temp [lindex $tstart 1] end]
regexp {1\..*?<a.*?>(.*?)</a>} $temp2 dummy title
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG compare $title == $arg" }
if { [string equal -nocase $title $arg] } {
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG equals - displaying first popular match" }
set temp $temp2
set hit 1
} else {
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG not equal - searching for exact match" }
}
}
if { $hit == 0 } {
if { [regexp -indices {Titles \(Exact Matches\)} $temp start] } {
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG displaying exact match" }
} elseif { [regexp -indices {Titles} $temp start] } {
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG no exact match - displaying first title on page" }
} else {
puthelp "$toput :No useful results."
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG no titles results found" }
return
}
set temp [string range $temp [lindex $start 1] end]
}
#searching for first ttcode
if [regexp {primary_photo\"\> \<a href\=\"/title/tt[0-9]+} $temp ttcode] {
set pos [string last / $ttcode] ; incr pos
set ttcode [string range $ttcode $pos end]
}
# for bogus ttcode
if { $ttcode == "0000001" } {
puthelp "$toput :No no no! I can't find that!"
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG bogus ttcode" }
return
}
set newurl "$imdburl/title/$ttcode/"
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG redirect 1 = $newurl" }
# get the page redirected to
unset html
if { $IMDB_ALTERNATIVE == 0 } {
set page [::http::config -useragent $User_Agent]
set page [::http::geturl $newurl -headers [list X-FORWARDED-FOR $Language_IP] -timeout $imdb_timeout]
if [catch {set page [::http::geturl $newurl -headers [list X-FORWARDED-FOR $Language_IP] -timeout $imdb_timeout]} error] {
puthelp "$toput :Error retrieving URL... try again later."
::http::Finish $page
return
}
if {[::http::status $page]=="timeout"} {
puthelp "$toput :\002Connection to imdb.com timed out.\002"
::http::Finish $page
return
}
set html [::http::data $page]
::http::Finish $page
} else {
catch { exec $binary(CURL) "$newurl" } html
}
# if no redirect necessary (only one match in meta), then go there
} else {
set location ""
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG redirect 0" }
if { $IMDB_ALTERNATIVE == 0 } {
upvar 0 $page oldpage
regexp {title/tt[0-9]+/} $oldpage(meta) location
} else {
set result [catch { exec $binary(CURL) -i "${imdbsearchurl}q=$searchString" } oldpage]
putlog $oldpage
regexp {title/tt[0-9]+/} $oldpage location
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG redirect 0 Location == $location" }
set newurl "$imdburl/$location"
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG redirect 0 = $newurl" }
if { $location != "" } {
if { $IMDB_ALTERNATIVE == 0 } {
unset html
set page [::http::config -useragent $User_Agent]
if [catch {set page [::http::geturl $newurl -headers [list X-FORWARDED-FOR $Language_IP] -timeout $imdb_timeout]} error] {
puthelp "$toput :Error retrieving URL... try again later."
::http::Finish $page
return
}
if {[::http::status $page]=="timeout"} {
puthelp "$toput :\002Connection to imdb.com timed out.\002"
::http::Finish $page
return
}
set html [::http::data $page]
::http::Finish $page
} else {
unset html
catch { exec $binary(CURL) "$newurl" } html
}
} else {
puthelp "$toput :Error in search mechanics - you probably need a newer version."
return
}
}
# grab footer content / user comment
if { $newurl != "" } {
if { 1 == 2 } {
# no idea why this is here
set part2 "_ajax/footer"
set footerurl "$newurl$part2"
if { $IMDB_ALTERNATIVE == 0 } {
set page [::http::config -useragent $User_Agent]
if [catch {set page [::http::geturl $footerurl -headers [list X-FORWARDED-FOR $Language_IP] -timeout $imdb_timeout]} error] {
puthelp "$toput :Error retrieving URL... try again later."
::http::Finish $page
return
}
if {[::http::status $page]=="timeout"} {
puthelp "$toput :\002Connection to imdb.com timed out.\002"
::http::Finish $page
return
}
set html2 [::http::data $page]
::http::Finish $page
} else {
catch { exec $binary(CURL) "$footerurl" } html2
}
}
} else {
puthelp "$toput :Error in search mechanics - you probably need a newer version."
return
}
# for bogus searches
if {[string length $newurl] == 0} {
puthelp "$toput :No no no! I can't find that!"
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG bogus searches" }
return
}
# decide on output
if { ! [string compare [lindex $announce(IMDBIRC) 0] "random"] && [string is alnum -strict [lindex $announce(IMDBIRC) 1]] == 1 } {
set output $random(IMDBIRC\-[rand [lindex $announce(IMDBIRC) 1]])
} else {
set output $announce(IMDBIRC)
}
# collect output
set title "N/A"; set aka "N/A"; set name "N/A"; set genre "N/A"; set tagline "N/A"; set plot "N/A"; set rating "N/A";
set votes "N/A"; set mpaa "N/A"; set runtime "N/A"; set budget "N/A"; set screens "N/A"; set country "N/A"; set language "N/A";
set soundmix "N/A"; set top250 "top/bottom:N/A"; set awards "N/A"; set rating_bar ""; set cast_multiline "N/A"; set wcredits "N/A";
set keywords "N/A"; set comment "N/A"; set reldate "N/A"; set cast_line "N/A"; set movie_color "N/A"; set aspect_ratio "N/A";
set cert "N/A"; set film_locations "N/A"; set company "N/A"
## get title
if [regexp {<title>[^<]+} $html title dummy] {
set pos [expr [string first > $title] +1]
set pos2 [expr [string first ) $title]]
set title [string range $title $pos $pos2]
set title [htmlcodes $title]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG title == $title" }
## get aka
if [regexp {<h4 class="inline">Also Known As:</h4>(.*?)</div>} $html dummy aka] {
regsub -all {<[^\>]*>} $aka {} aka
set aka [string map {"See more" "" \n "" & " & " » ""} $aka]
set aka [string trim $aka]
set aka [htmlcodes $aka]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG aka == $aka" }
## get director
if [regexp {<h4 class="inline">.*?Director:.*?</h4>(.*?)</div>} $html dummy name] {
regsub -all {\n[ ]*} $name {} name
set name [string map {"&<br/>" "& " "<br/>" ", " "See more" ""} $name]
regsub -all {<[^>]+>} $name {} name
set name [string trim $name]
regsub -all {,$} $name {} name
set name [htmlcodes $name]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG director == $name" }
## get writing credits
if [regexp {<h4 class="inline">.*?Writers:.*?</h4>(.*?)</div>} $html dummy wcredits] {
regsub -all {\n[ ]*} $wcredits {} wcredits
set wcredits [string map {"See more" "" "<br/> " "" "&<br/>" "& " "&<br/>" "& " "<br/>" ", " "»" ""} $wcredits]
regsub -all {<[^>]+>} $wcredits {} wcredits
set wcredits [string trim $wcredits]
regsub -all {,$} $wcredits {} wcredits
while { [string first " " $wcredits] != -1 } {
set wcredits [string map {" " " " } $wcredits]
}
set wcredits [htmlcodes $wcredits]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG writer == $wcredits" }
# release date
if {[regexp {<h4 class="inline">Release Date:</h4>(.*?)<} $html dummy reldate]} {
# regsub -all {<[^\>]*>} $reldate {} reldate
set reldate [string trim $reldate]
set reldate [htmlcodes $reldate]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG release date == $reldate" }
## get genre
if [regexp {<h4 class="inline">Genres:</h4>(.*?)</div>} $html dummy genre] {
set genre [string map {"See more" "" " "} $genre]
regsub -all {<[^\>]*>} $genre {} genre
set genre [string map {"|" "||" } $genre]
set genre [string map {"\n" "" } $genre]
set genre [string map {" ||" "," } $genre]
# set genre [string map {" " ", " } $genre]
# set genre [string map {"|" "," } $genre]
set genre [string trim $genre]
regsub {\(.*\)} $genre {} genre
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG genre == $genre" }
## get tagline
if [regexp {<h4 class="inline">Taglines:</h4>(.*?)<} $html dummy tagline] {
set tagline [string map {"See more" "" } $tagline]
regsub -all {<[^\>]*>} $tagline {} tagline
set tagline [string trim $tagline]
set tagline [htmlcodes $tagline]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG tagline == $tagline" }
## get plot outline
if { [regexp {<h2>Storyline</h2>(.*?)<em .*?>} $html dummy plot] || [regexp {<h5>Plot Summary:</h5>(.*?)</div>} $html dummy plot] } {
set plot [string map {"See more" "" "(view trailer)" "" "full summary" "" "add synopsis" "" "full synopsis (warning! may contain spoilers)" "" "full synopsis" "" " | " ""} $plot]
regsub -all {<[^\>]*>} $plot {} plot
set plot [string trim $plot]
set plot [string range $plot 0 357]
set plot [htmlcodes $plot]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG plot == $plot" }
## get plot keywords
if [regexp {<h4 class="inline">Plot Keywords:</h4>(.*?)</div>} $html dummy keywords] {
set keywords [string map {"See more" "" \n "" " " » ""} $keywords]
regsub -all {<[^\>]*>} $keywords {} keywords
set keywords [string map {"|" "||"} $keywords]
set keywords [string trim $keywords]
set keywords [htmlcodes $keywords]
while { [string first " " $keywords] != -1 } {
set keywords [string map {" " " " } $keywords]
}
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG keywords == $keywords" }
## get awards
if [regexp {<span itemprop="awards">(.*?)<span class="see-more inline">} $html awards] {
regsub -all {[\n]} $awards {} awards
regsub -all {<[^\>]*>} $awards {} awards
set awards [string map {"\n" "" } $awards]
set awards [string map {"&" "&" } $awards]
while { [string first " " $awards] != -1 } {
set awards [string map {" " " " } $awards]
}
set awards [string trim $awards]
set awards [string trimright $awards "."]
set awards [htmlcodes $awards]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG awards == $awards" }
## get comment (does not seem to work because part2 points to _ajax/footer which results in a 404)
if {1 == 2} {
if [regexp {<div class="user-comments">.*?</strong>} $html2 comment] {
regsub -all {[\n]} $comment {} comment
set pos [expr [string first "<strong>" $comment] +8]
set pos2 [expr [string first "</strong>" $comment] -9]
set comment [string range $comment $pos $pos2]
set comment [string trim $comment]
set comment [htmlcodes $comment]
}
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG comment == $comment" }
## get iMDb rating
if [regexp {<span itemprop="ratingValue">(.*?)</span></strong>} $html rating] {
regsub -all {<[^\>]*>} $rating {} rating
#rating bar code - attempt at recreating
set rating [string map {, .} "$rating"]
set goldstars [expr round($rating)]
set greystars [expr 10 - $goldstars]
# generating the rating bar
set marker "*"
set rating_bar "%color$barcol1\[%color$barcol2"
for {set i2 0} {$i2 < $goldstars} {incr i2 1} {
set rating_bar "$rating_bar$marker"
}
set marker "-"
set rating_bar "$rating_bar%color$barcol2"
for {set i3 0} {$i3 < $greystars} {incr i3 1} {
set rating_bar "$rating_bar$marker"
}
set rating_bar "$rating_bar%color$barcol1\]%color"
#end rating bar code
}
if [regexp {<span class="small" itemprop="ratingCount">(.*?)</span>} $html votes] {
regsub -all {<[^\>]*>} $votes {} votes
}
#if [regexp {<b>((.*?)</b><span class="mellow">/10)</span>.*?<a .*? href="ratings".*?>(.*?) votes</a>} $html dummy rating goldstars votes] {
#
# regsub -all {<[^\>]*>} $rating {} rating
# #rating bar code
# set goldstars [expr round($goldstars)]
# set greystars [expr 10 - $goldstars]
# # generating the rating bar
# set marker "*"
# set rating_bar "$barcol1\[$barcol2"
# for {set i2 0} {$i2 < $goldstars} {incr i2 1} {
# set rating_bar "$rating_bar$marker"
# }
# set marker "-"
# set rating_bar "$rating_bar314"
# for {set i3 0} {$i3 < $greystars} {incr i3 1} {
# set rating_bar "$rating_bar$marker"
# }
# set rating_bar "$rating_bar$barcol1\]"
# #end rating bar code
#
#}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG rating == $rating | votes == $votes | rating bar == $rating_bar" }
## get TOP 250
if [regexp {<strong>Top 250 #([\d]+)</strong>} $html dummy top250] {
} elseif [regexp {>(Bottom 100: #[\d]+)</a>} $html dummy top250] {
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG top250 == $top250" }
## get MPAA
if [regexp {<span itemprop="contentRating">.*?</span>} $html mpaa] {
regsub -all {<[^\>]*>} $mpaa {} mpaa
set mpaa [string trim $mpaa]
set mpaa [htmlcodes $mpaa]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG mpaa == $mpaa" }
## get runtime
if [regexp {<h4 class="inline">Runtime:</h4>.*?<time .*?>(.*?)min</time>} $html dummy runtime] {
regsub -all {[\n\s]+} $runtime {} runtime
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG runtime == $runtime" }
## get country
if [regexp {<h4 class="inline">Country:</h4>(.*?)</div>} $html dummy country] {
set country [string map { " "} $country]
regsub -all {<[^\>]*>} $country {} country
set country [string map {"|" "||" } $country]
regsub -all {[\n]+} $country {} country
set country [string trim $country]
while { [string first " " $country] != -1 } {
set country [string map {" " " " } $country]
}
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG country == $country" }
## get language
if [regexp {<h4 class="inline">Language:</h4>(.*?)</div>} $html dummy language] {
set language [string map {"See more" "" \n "" " " » ""} $language]
regsub -all {<[^\>]*>} $language {} language
regsub -all {[\n]+} $language {} language
set language [string map {"|" "||"} $language]
set language [string trim $language]
while { [string first " " $language] != -1 } {
set language [string map {" " " " } $language]
}
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG language == $language" }
## get movie color
if [regexp {<h4 class="inline">Color:</h4>(.*?)</div>} $html dummy movie_color] {
regsub -all {<[^\>]*>} $movie_color {} movie_color
regsub -all {[\n]+} $movie_color {} movie_color
while { [string first " " $movie_color] != -1 } {
set movie_color [string map {" " " " } $movie_color]
}
set movie_color [string trim $movie_color]
set movie_color [string map {"|" " |"} $movie_color]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG movie_color == $movie_color" }
## get aspect ratio
if [regexp {<h4 class="inline">Aspect Ratio:</h4>(.*?)</div>} $html dummy aspect_ratio] {
regsub -all {<[^\>]*>} $aspect_ratio {} aspect_ratio
set aspect_ratio [string map {"more" "" } $aspect_ratio]
set aspect_ratio [string trim $aspect_ratio]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG aspect_ratio == $aspect_ratio" }
## get soundmix
if [regexp {<h4 class="inline">Sound Mix:</h4>(.*?)</div>} $html dummy soundmix] {
set soundmix [string map {"See more" "" \n "" "" » ""} $soundmix]
regsub -all {<[^\>]*>} $soundmix {} soundmix
regsub -all {[\n]+} $soundmix {} soundmix
set soundmix [string map {"|" " ||"} $soundmix]
set soundmix [string trim $soundmix]
while { [string first " " $soundmix] != -1 } {
set soundmix [string map {" " " " } $soundmix]
}
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG soundmix == $soundmix" }
## get certification
if [regexp {<div class="infobar">.*?alt="(.*?)"} $html dummy cert] {
regsub -all {<[^\>]*>} $cert {} cert
set mpaa [string trim $cert]
set mpaa [htmlcodes $cert]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG cert == $cert" }
## get locations
if { [regexp {<h4 class="inline">Filming Locations:</h4>(.*?)</div>} $html dummy film_locations] } {
set film_locations [string map {"See more" "" » ""} $film_locations]
regsub -all {<[^\>]*>} $film_locations {} film_locations
regsub -all {[\n\s]+} $film_locations { } film_locations
set film_locations [string trim $film_locations]
set film_locations [htmlcodes $film_locations]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG film_locations == $film_locations" }
## get company
if [regexp {<h3 class="subheading">Company Credits</h3>(.*?)</div>} $html dummy company] {
set company [string map {"See more" "" "" » ""} $company]
set company [string map {"Production Co:" ""} $company]
regsub -all {<[^\>]*>} $company {} company
regsub -all {[\n\s]+} $company { } company
set company [string trim $company]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG company == $company" }
## get cast
if [regexp {<table class="cast_list">(.*?)</table>} $html dummy cast] {
regsub -all {</tr>.*?<tr.*?>} $cast "\n" cast_multiline
regsub -all {[\n]+} $cast_multiline {} cast_multiline
regsub -all {<[^\>]*>} $cast_multiline {} cast_multiline
set cast_multiline [string map {"rest of cast listed alphabetically:" \n} $cast_multiline]
set cast_multiline [string trim [join [htmlcodes $cast_multiline]]]
if { $cast_linelimit > 0 } {
set nthoccur [expr [findnth $cast_multiline \n $cast_linelimit] - 1]
if {$nthoccur > 0} {set cast_multiline [string range $cast_multiline 0 $nthoccur]}
}
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG cast_multiline == $cast_multiline" }
## fill singleline
regsub -all {\n} $cast_multiline " / " cast_line
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG cast_line == $cast_line" }
## get budget
if [regexp {<h4 class="inline">Budget:</h4> (.*?)</div>} $html dummy budget] {
regsub -all {[\n]+} $budget {} budget
set budget [string range $budget 0 [expr [string first "<span" $budget] -1]]
set budget [string trim $budget]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG budget == $budget" }
## get screens
if [regexp {<h4 class="inline">Opening Weekend:</h4>\n(.*?Screens\))} $html dummy screens] {
regsub -all {[\n]+} $screens { } screens
regsub -all {<[^\>]*>} $screens {} screens
set screens [htmlcodes $screens]
}
if {$IMDB_DEBUG == 1} { putlog "IMDB_DEBUG screens == $screens" }
## output results
#cleaning the end url
set cleanurl [string map {"www." ""} $newurl]
set output [string map [list "%title" "$title" "%aka" "$aka" "%url" "$cleanurl" "%name" "$name" "%genre" "$genre" "%tagline" "$tagline" "%plot" "$plot" "%keywords" "$keywords" "%awards" "$awards" "%comment" "$comment" "%rating" "$rating" "%rbar" "$rating_bar" "%votes" "$votes" "%top250" "$top250" "%mpaa" "$mpaa" "%time" "$runtime" "%country" "$country" "%language" "$language" "%mcolor" "$movie_color" "%aspect" "$aspect_ratio" "%soundmix" "$soundmix" "%cert" "$cert" "%locations" "$film_locations" "%company" "$company" "%budget" "$budget" "%screens" "$screens" "%reldate" "$reldate"] $output]
set checkvar ""
regexp {.*?%castmline} $output checkvar
if { [expr [regexp -all {%uline} $checkvar] % 2] == 1 } {
set cast_multiline [string map {"\n" "\n%uline"} $cast_multiline]
}
if { [expr [regexp -all {%bold} $checkvar] % 2] == 1 } {
set cast_multiline [string map {"\n" "\n%bold"} $cast_multiline]
}
if { [regexp {.*%color([\d]+(?:,[\d]+)?)[^\n]*?%castmline} $checkvar dummy colormline] } {
regsub -all {\n} $cast_multiline "\n%color$colormline" cast_multiline
}
set output [replacevar $output "%castmline" $cast_multiline]
set output [replacevar $output "%castline" $cast_line]
set output [replacevar $output "%wcredits" $wcredits]
regsub -all {\|[^\|]*?N/A[^\|]*?\|} $output "" output
set output [string map {"||" "|" "|" ""} $output]
regsub -all {\n[\n\s]*\n} $output "\n" output
set output [string trim $output]
set output [replacevar $output "%bold" "\002"]
set output [replacevar $output "%uline" "\037"]
set output [replacevar $output "%bull" "\u2022"]
set output [replacevar $output "%color" "\003"]
set output [encoding convertto utf-8 $output]
foreach line [split [imdb_decode $output] "\n"] {
while {$line != ""} {
puthelp "$toput :[string range $line 0 399]"
set line [string range $line 400 end]
}
}
set imdb(lasttime,$chan) [clock seconds]
}
proc wmsg { } {
global warn_msg
set warn_msg 0
}
proc imdb_decode {text {char "utf-8"} } {
# code below is neccessary to prevent numerous html markups
# from appearing in the output (ie, ", ?, etc)
# stolen (borrowed is a better term) from tcllib's htmlparse ;)
# works unpatched utf-8 or not, unlike htmlparse::mapEscapes
# which will only work properly patched....
set escapes {
\xa0 ¡ \xa1 ¢ \xa2 £ \xa3 ¤ \xa4
¥ \xa5 ¦ \xa6 § \xa7 ¨ \xa8 © \xa9
ª \xaa « \xab ¬ \xac ­ \xad ® \xae
¯ \xaf ° \xb0 ± \xb1 ² \xb2 ³ \xb3
´ \xb4 µ \xb5 ¶ \xb6 · \xb7 ¸ \xb8
¹ \xb9 º \xba » \xbb ¼ \xbc ½ \xbd
¾ \xbe ¿ \xbf À \xc0 Á \xc1 Â \xc2
à \xc3 Ä \xc4 Å \xc5 Æ \xc6 Ç \xc7
È \xc8 É \xc9 Ê \xca Ë \xcb Ì \xcc
Í \xcd Î \xce Ï \xcf Ð \xd0 Ñ \xd1
Ò \xd2 Ó \xd3 Ô \xd4 Õ \xd5 Ö \xd6
× \xd7 Ø \xd8 Ù \xd9 Ú \xda Û \xdb
Ü \xdc Ý \xdd Þ \xde ß \xdf à \xe0
á \xe1 â \xe2 ã \xe3 ä \xe4 å \xe5
æ \xe6 ç \xe7 è \xe8 é \xe9 ê \xea
ë \xeb ì \xec í \xed î \xee ï \xef
ð \xf0 ñ \xf1 ò \xf2 ó \xf3 ô \xf4
õ \xf5 ö \xf6 ÷ \xf7 ø \xf8 ù \xf9
ú \xfa û \xfb ü \xfc ý \xfd þ \xfe
ÿ \xff ƒ \u192 Α \u391 Β \u392 Γ \u393 Δ \u394
Ε \u395 Ζ \u396 Η \u397 Θ \u398 Ι \u399
Κ \u39A Λ \u39B Μ \u39C Ν \u39D Ξ \u39E
Ο \u39F Π \u3A0 Ρ \u3A1 Σ \u3A3 Τ \u3A4
Υ \u3A5 Φ \u3A6 Χ \u3A7 Ψ \u3A8 Ω \u3A9
α \u3B1 β \u3B2 γ \u3B3 δ \u3B4 ε \u3B5
ζ \u3B6 η \u3B7 θ \u3B8 ι \u3B9 κ \u3BA
λ \u3BB μ \u3BC ν \u3BD ξ \u3BE ο \u3BF
π \u3C0 ρ \u3C1 ς \u3C2 σ \u3C3 τ \u3C4
υ \u3C5 φ \u3C6 χ \u3C7 ψ \u3C8 ω \u3C9
ϑ \u3D1 ϒ \u3D2 ϖ \u3D6 • \u2022
… \u2026 ′ \u2032 ″ \u2033 ‾ \u203E
⁄ \u2044 ℘ \u2118 ℑ \u2111 ℜ \u211C
™ \u2122 ℵ \u2135 ← \u2190 ↑ \u2191
→ \u2192 ↓ \u2193 ↔ \u2194 ↵ \u21B5
⇐ \u21D0 ⇑ \u21D1 ⇒ \u21D2 ⇓ \u21D3 ⇔ \u21D4
∀ \u2200 ∂ \u2202 ∃ \u2203 ∅ \u2205
∇ \u2207 ∈ \u2208 ∉ \u2209 ∋ \u220B ∏ \u220F
∑ \u2211 − \u2212 ∗ \u2217 √ \u221A
∝ \u221D ∞ \u221E ∠ \u2220 ∧ \u2227 ∨ \u2228
∩ \u2229 ∪ \u222A ∫ \u222B ∴ \u2234 ∼ \u223C
≅ \u2245 ≈ \u2248 ≠ \u2260 ≡ \u2261 ≤ \u2264
≥ \u2265 ⊂ \u2282 ⊃ \u2283 ⊄ \u2284 ⊆ \u2286
⊇ \u2287 ⊕ \u2295 ⊗ \u2297 ⊥ \u22A5
⋅ \u22C5 ⌈ \u2308 ⌉ \u2309 ⌊ \u230A
⌋ \u230B ⟨ \u2329 ⟩ \u232A ◊ \u25CA
♠ \u2660 ♣ \u2663 ♥ \u2665 ♦ \u2666
" \x22 & \x26 < \x3C > \x3E O&Elig; \u152 œ \u153
Š \u160 š \u161 Ÿ \u178 ˆ \u2C6
˜ \u2DC   \u2002   \u2003   \u2009
‌ \u200C ‍ \u200D ‎ \u200E ‏ \u200F – \u2013
— \u2014 ‘ \u2018 ’ \u2019 ‚ \u201A
“ \u201C ” \u201D „ \u201E † \u2020
‡ \u2021 ‰ \u2030 ‹ \u2039 › \u203A
€ \u20AC ' \u0027 ‎ "" ‏ ""
};
if {![string equal $char [encoding system]]} { set text [encoding convertfrom $char $text] }
set text [string map [list "\]" "\\\]" "\[" "\\\[" "\$" "\\\$" "\"" "\\\"" "\\" "\\\\"] [string map -nocase $escapes $text]]
regsub -all -- {&#([[:digit:]]{1,5});} $text {[format %c [string trimleft "\1" "0"]]} text
regsub -all -- {&#x([[:xdigit:]]{1,4});} $text {[format %c [scan "\1" %x]]} text
catch { set text "[subst "$text"]" }
if {![string equal $char [encoding system]]} { set text [encoding convertto $char $text] }
return "$text"
}
putlog "IMDB Info Version 03.12.2016: LOADED"
Bonjour,
Il me semble qu'il faut que le package TCL-TLS soit installé sur le système.
Essaye "apt-get install tcltls" si tu es sur debian/ubuntu ou "yum install tcltls" si tu es sur CentOS (il faut être root bien entendu).
Bonjour DaDiss,
Je l'ai deja installe, est ce que le script fonctionne pour toi ?
Ca marche bien chez moi.
Tu as bien chargé le script http.tcl sur ton eggdrop ?
tu le trouvera ici => https://scripts.eggdrop.fr/details-http.tcl-s11.html
Il faut le charger comme n'importe quel autre tcl sur le fichier de configuration de ton eggdrop (avant imdb.tcl).
Pour moi il y a un petit bug dans le script:
Donc, le package http n'est chargé que si IMDB_ALTERNATIVE est à 0, mais dans tous les cas on l'utilise pour faire ::http::register . Il y a une incohérence.
Essaye donc en changeant la première ligne que je cite pour mettre set IMDB_ALTERNATIVE 0
Merci a vous pour votre aide, je fais les essais ce soir et vous tiens informe.
(05/06/2020, 00:11)CrazyCat Wrote: Pour moi il y a un petit bug dans le script:
Donc, le package http n'est chargé que si IMDB_ALTERNATIVE est à 0, mais dans tous les cas on l'utilise pour faire ::http::register . Il y a une incohérence.
Essaye donc en changeant la première ligne que je cite pour mettre set IMDB_ALTERNATIVE 0
Oui c'est logique, c'est pour ça que sur mon eggdrop qui charge déjà le script http séparément ça a bien fonctionné :)
(05/06/2020, 13:06)Kossiwa Wrote: Merci a vous pour votre aide, je fais les essais ce soir et vous tiens informe.
Bonsoir a vous deux, désole de la reponse tardive.
DaDIsS
J'ai suivi tes instructions et le script marche a merveille !
Merci a toi.
Je ne savais pas que le fichier HTML était nécessaire
CrazyCat
J'ai laisse la variable IMDB_ALTERNATIVE a 1 et cela fonctionne quand même, j’essayerai a l’occasion de le mettre a 0
Je vais en profiter de tester ton script chanrelay dans les jours a venir , il m''nteresse vraiment. et dervait m'etre utile
Je te tiens au courant.
Bon week end a vous
(06/06/2020, 20:14)Kossiwa Wrote: J'ai suivi tes instructions et le script marche a merveille !
Merci a toi.
Je ne savais pas que le fichier HTML était nécessaire Le http.tcl (et pas html) n'est certainement pas nécessaire vu que ce package existe dans tcllib depuis un bon nombre d'années. C'est juste le script qui est à revoir, avec un petit changement d'accolade:
C'est bête, mais en déplaçant une accolade fermante, on obtient le bon fonctionnement: appeler la procédure d'un package qu'après l'avoir chargé.
En effet, je viens de l'apprendre grâce à toi CrazyCat, merci :)
J'ai toujours chargé ce tcl avant tous les autres sans jamais me poser de question puisque cela avait plutôt bien marché jusqu'ici
Il s'avère qu'en l'enlevant tous mes scripts continuent de marcher, à part le imdb bien sûr lol
Kossiwa, si tu veux vraiment faire les choses bien, enleve le http.tcl et corrige le imdb.tcl tel qu'indiqué par CrazyCat
|