Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


[Bug] Problème avec le script zurl.tcl
#1
Bonjour je possède actuellement le script zurl.tcl (que j'ai renommé url) sur mon eggdrop.
Cependant il m'affiche de nombreuses erreur et je ne sais pas comment corriger ce script n'ayant aucune connaissance en tcl.

Voilà le script en question :


Code:
##############
       #    Zurl    #
       ##############
       
       ############## Zurl.tcl is based on two grabbers urls titles scripts:
       ############## -The first one is a classic grabber who gets all (or most) of urls.
       ############## (http://forum.eggdrop.fr/Titre-des-urls-diffusees-t-1331.html)
       ############## - The second one is a youtube grabber.
       ############## (http://forum.eggdrop.fr/youtube-tiltle-t-1393.html)
       ##############
       ############## So, the youtube and the classic grabber titles on
       ############## one script was the point. I hope it'll be usefull.
       ##############
       ############## Easy to use; you only need to:
       ############## - add the Zurl.tcl file in ../scripts/
       ############## - add the line "source scripts/zurl.tcl" in eggdrop.conf
       ############## - and enjoy.
       ##############
       ############## JazZ (jazz@epiknet.org)
       
       ##############
       #   Script   #
       ##############
       
       set Zurlversion "1.0"
       
       ############## Binds/Packages
       
       package require http
       package require uri
       package require tls
       
       tls::init -tls1 true -ssl2 false -ssl3 false
       http::register https 443 tls::socket
       
       bind PUBM - * check_url
       
       ############## Classic Proc
       
       proc check_url {nick uhost handle chan text} {
               if {![string match "*?://*?" $text] && ![regexp {^[0-9\.]+$} $text] } {
                       set text "http://$text"
               }
               if {[regexp -- {([a-z0-9\-]+\://[a-z0-9\-]+\.[a-z0-9\-\.]+(?:/|(?:/[a-zA-Z0-9!#\$%&'\*\+,\-\.:;=\?@\[\]_~]+)*))} $text match url]} {
                               set url [string tolower $url]
                               set url [string map -nocase { "&" "&" } $url]
                               set token [geturl $url]
                               set html_data [::http::data $token]
                               ::http::cleanup $token
                               regexp -all -nocase -- "<title>(.*)</title>" $html_data match title
                               if { [info exists title] } {
                                   putserv "PRIVMSG $chan .: \002URL\002 :. '[html_entities_decode $title]'"
                               }
               }
               return 0
       }
       
       proc geturl {url args} {
           array set URI [::uri::split $url];
           while {1} {
              set token [eval [list http::geturl $url] $args]
              if {![string match {30[1237]} [::http::ncode $token]]} {return $token}
              array set meta [set ${token}(meta)]
              if {![info exist meta(Location)]} {
                   return $token
              }
              array set uri [::uri::split $meta(Location)]
              unset meta
              if {$uri(host) == ""} { set uri(host) $URI(host) }
              set url [eval ::uri::join [array get uri]]
           }
       }      
       putlog "Zurl-$Zurlversion.tcl loaded"
Et voilà les erreurs qu'il me provoque dans les logs :

Quote:[15:41:41] 05--04--->14 unknown scheme 'ttps' in 'ttps://www.facebook.com/photo.php?fbid=10203787935398184&set=g.548153875302053&type=1&theater'
Il est possible que cela vienne du protocole genre ttps:// avec le h en moins (je pense que ça vient du script, ça le fait trop souvent pour que ça soit accidentel) et parfois aussi sur des protocoles qu'il n'a pas à tester genre mumble://

D'après MenzAgitat qui a jeté un coup d’œil le problème est provoqué par le package http en fait, ça vient du fait que le script balance des url malformées à la proc geturl du package http

Voilà merci d'avance pour votre aide.


Possibly Related Threads…
Thread Author Replies Views Last Post
  Problème avec Les poupées linkeuses zappeur78 22 5,414 31/03/2022, 16:52
Last Post: CrazyCat
  [Résolu] Problème avec le script autolog T3nS 2 3,196 06/12/2017, 16:08
Last Post: T3nS
  [Résolu] Youtube tcl (Zurl.tcl) ne fonctionne plus Krypte 23 14,185 28/04/2017, 18:22
Last Post: Alucard`68
  [Résolu] Problème d'accents avec script TCL maison CC30 3 4,681 25/08/2016, 13:55
Last Post: Alucard`68
  [Résolu] Problème d'encodage avec rss-synd Naruto 24 13,543 18/05/2014, 21:16
Last Post: CrazyCat
  En galère avec un codage de script de dédi KeeViiNou 12 6,292 16/03/2014, 21:33
Last Post: aliasangelius
  Problème avec Clams SaiTek 7 5,817 06/09/2013, 09:02
Last Post: SaiTek
  Problème d'accent avec shoutcast.tcl Naruto 8 6,672 05/08/2013, 15:17
Last Post: Naruto
  [Résolu] [Aide]Problème avec un tcl Naruto 6 5,876 17/07/2013, 20:56
Last Post: CrazyCat
  probleme avec mon script Nostromo1st 7 6,008 05/06/2013, 09:51
Last Post: Nostromo1st

Forum Jump:


Users browsing this thread: 1 Guest(s)