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


Youtube.tcl par aliasangelius
#1
Smile 
Bonjour a tous

J'avais  un soucis avec le zurl.tcl un peu comem T3ns
J'ai DL celui posté par aliasangelius, et nikel.

Par contre me suis aperçu que lors d'un post d'un User, via ce lien alors que d'autres fonctionnent:
https://www.youtube.com/watch?v=vzAvnEV8Ctg

J'ai ce message en PL qui s'affiche (et rien sur le salon ou le lien youtube est lancé):

Tcl error [public_youtubedl]: can't read "res1": no such variable

Voila ou cela me renvoie dans le tcl posté par aliasangelius
PS: Les packages http et tls sont bien installés.

Merci  à vous  pour une info

tcl
set youtubedl(pattern) {https://.*youtube.*/watch\?(.*)v=([A-Za-z0-9_\-]+)}
set youtubedl(pattern1) {https://youtu.be/([A-Za-z0-9_\-]+)}
 
namespace eval youtubedl {
}
 
package require http
package require tls
 
bind pubm - * public_youtubedl
proc public_youtubedl {nick userhost handle channel args} {
    global youtubedl botnick
    set args [stripcode $args]
    if {[regexp -nocase -- $youtubedl(pattern) $args match fluff video_id] || [regexp -nocase -- $youtubedl(pattern1) $args match video_id]} {
        set useragent "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
        ::http::register https 443 [list tls::socket -tls1 1]
        set url "https://www.youtube.com/watch?v=$video_id"
        ::http::config -useragent $useragent
        catch { set token [::http::geturl "$url" -timeout 30000] }
        if {([info exists token]) && ([::http::status $token] == "ok")} {
        set retok [::http::data $token]
        if {[string match "*<title>YouTube</title>*" $retok] } { return }
        set res ""
        regexp {<title>(.+?)</title>} $retok res
        regsub -all {<title>} $res "" res
        regsub -all {</title>} $res "" res
        regsub -all -- "- YouTube" $res "" res
        set result [youtubedl::string_filter $res]
        regexp {<div class="watch-view-count">(.+?)</div>} $retok res1
        regsub -all {<div class="watch-view-count">} $res1 "" res1
        regsub -all {</div>} $res1 "" res1
        regsub -all " " $res1 "," res1
        set result1 [youtubedl::string_filter $res1]
        regexp {<meta itemprop="duration" content="(.+?)">} $retok res2
        regsub -all {<meta itemprop="duration" content=\"} $res2 "" res2
        regsub -all {\">} $res2 "" res2
        regsub -all {PT} $res2 "" res2
        regsub -all {M} $res2 " minutes " res2
        regsub -all {S} $res2 " secondes" res2
        http::cleanup $token
        http::unregister https
        puthelp "privmsg $channel :\002\You\0034Tube\003 Titre\002 :$result \002Vues\002 :$res1 \002Durée\002 :$res2"
        }
        }
        }
        
        
        proc youtubedl::string_filter { str } {
    set str [string map -nocase {
        "&agrave;"          "à"     "&agrave;"          "à"     "&aacute;"          "á"     "&acirc;"           "â"
        "&atilde;"          "ã"     "&auml;"            "ä"     "&aring;"           "Ã¥"     "&aelig;"           "æ"
        "&ccedil;"          "ç"     "&egrave;"          "è"     "&eacute;"          "é"     "&ecirc;"           "ê"
        "&euml;"            "ë"     "&igrave;"          "ì"     "&iacute;"          "í"     "&icirc;"           "î"
        "&iuml;"            "ï"     "&eth;"             "ð"     "&ntilde;"          "ñ"     "&ograve;"          "ò"
        "&oacute;"          "ó"     "&ocirc;"           "ô"     "&otilde;"          "õ"     "&ouml;"            "ö"
        "&divide;"          "÷"     "&oslash;"          "ø"     "&ugrave;"          "ù"     "&uacute;"          "ú"
        "&ucirc;"           "û"     "&uuml;"            "ü"     "&yacute;"          "ý"     "&thorn;"           "þ"
        "&yuml;"            "ÿ"     "&quot;"            "\""    "&amp;rsquo;"       "'"     "&euro;"            "€"
        "&amp;eacute;"      "é"     &amp;agrave;        "à"     &amp;egrave;        "è"
        "&oelig;"           "Å“"     "&Yuml;"            "Ÿ"     "&nbsp;"            " "     "&iexcl;"           "¡"
        "&cent;"            "¢"     "&pound;"           "£"     "&amp;amp;"         "&"     "&yen;"             "Â¥"
        "&brvbar;"          "¦"     "&brkbar;"          "¦"     "&sect;"            "§"     "&uml;"             "¨"
        "&die;"             "¨"     "&copy;"            "©"     "&ordf;"            "ª"     "&laquo;"           "«"
        "&not;"             "¬"     "&shy;"             "­-"    "&reg;"             "®"     "&macr;"            "¯"
        "&hibar;"           "¯"     "&deg;"             "°"     "&plusmn;"          "±"     "&sup2;"            "²"
        "&sup3;"            "³"     "&acute;"           "´"     "&micro;"           "µ"     "&para;"            "¶"
        "&middot;"          "·"     "&cedil;"           "¸"     "&sup1;"            "¹"     "&ordm;"            "º"
        "&raquo;"           "»"     "&frac14;"          "¼"     "&frac12;"          "½"     "&frac34;"          "¾"
        "&iquest;"          "¿"     "&Agrave;"          "À"     "&Aacute;"          "Á"     "&Acirc;"           "Â"
        "&Atilde;"          "Ã"     "&Auml;"            "Ä"     "&Aring;"           "Ã…"     "&AElig;"           "Æ"
        "&Ccedil;"          "Ç"     "&Egrave;"          "È"     "&Eacute;"          "É"     "&Ecirc;"           "Ê"
        "&Euml;"            "Ë"     "&Igrave;"          "ÃŒ"     "&Iacute;"          "Í"     "&Icirc;"           "ÃŽ"
        "&Iuml;"            "Ï"     "&ETH;"             "Ð"     "&Dstrok;"          "Ð"     "&Ntilde;"          "Ñ"
        "&Ograve;"          "Ã’"     "&Oacute;"          "Ó"     "&Ocirc;"           "Ô"     "&Otilde;"          "Õ"
        "&Ouml;"            "Ö"     "&times;"           "×"     "&Oslash;"          "Ø"     "&Ugrave;"          "Ù"
        "&Uacute;"          "Ú"     "&Ucirc;"           "Û"     "&Uuml;"            "Ãœ"     "&Yacute;"          "Ý"
        "&THORN;"           "Þ"     "&szlig;"           "ß"     "\r"                ""      "\t"                ""
        "'"            "\'"    "'"             "\'"    "&gt;"              ">"     "&lt;"              "<"
        """             "\'"    "&"             "&"     "#91;"              "\("    "\"             "\/"
        "]"             ")"     "{"            "("     "}"            ")"     "£"            "£"
        "¨"            "¨"     "©"            "©"     "«"            "«"     "­"            "­"
        "®"            "®"     "´"            "´"     "·"            "·"     "¹"            "¹"
        "»"            "»"     "¼"            "¼"     "½"            "½"     "¾"            "¾"
        "À"            "À"     "Á"            "Á"     "Â"            "Â"     "Ã"            "Ã"
        "Ä"            "Ä"     "Å"            "Ã…"     "Æ"            "Æ"     "Ç"            "Ç"
        "È"            "È"     "É"            "É"     "Ê"            "Ê"     "Ë"            "Ë"
        "Ì"            "ÃŒ"     "Í"            "Í"     "Î"            "ÃŽ"     "Ï"            "Ï"
        "Ð"            "Ð"     "Ñ"            "Ñ"     "Ò"            "Ã’"     "Ó"            "Ó"
        "Ô"            "Ô"     "Õ"            "Õ"     "Ö"            "Ö"     "×"            "×"
        "Ø"            "Ø"     "Ù"            "Ù"     "Ú"            "Ú"     "Û"            "Û"
        "Ü"            "Ãœ"     "Ý"            "Ý"     "Þ"            "Þ"     "ß"            "ß"
        "à"            "à"     "á"            "á"     "â"            "â"     "ã"            "ã"
        "ä"            "ä"     "å"            "Ã¥"     "æ"            "æ"     "ç"            "ç"
        "è"            "è"     "é"            "é"     "ê"            "ê"     "ë"            "ë"
        "ì"            "ì"     "í"            "í"     "î"            "î"     "ï"            "ï"
        "ð"            "ð"     "ñ"            "ñ"     "ò"            "ò"     "ó"            "ó"
        "ô"            "ô"     "õ"            "õ"     "ö"            "ö"     "÷"            "÷"
        "ø"            "ø"     "ù"            "ù"     "ú"            "ú"     "û"            "û"
        "ü"            "ü"     "ý"            "ý"     "þ"            "þ"     "&amp;"             "&"
        
    } $str]
    regsub -all "<br />" $str " " str
    return "${str}"
}
 
 
proc stripcode {str} {
    return [regsub -all -- {(\d{1,2})?(,\d{1,2})?} $str ""]
}


Quand on a la connaissance, ne pas la partager ne peux faire avancer la communauté !


Messages In This Thread
Youtube.tcl par aliasangelius - by pheeric - 28/12/2017, 19:12

Possibly Related Threads…
Thread Author Replies Views Last Post
  [Résolu]Youtube-link bouba89 9 808 27/05/2021, 16:41
Last Post: ZarTek
  Youtube pheeric 19 7,455 17/08/2020, 22:34
Last Post: pheeric
  [Résolu] Youtube pheeric 1 1,747 11/01/2020, 00:10
Last Post: pheeric
  [Résolu] Youtube tcl (Zurl.tcl) ne fonctionne plus Krypte 23 13,986 28/04/2017, 18:22
Last Post: Alucard`68
  youtube script zyrte 31 23,885 18/01/2016, 17:17
Last Post: MisterS
  erreur script youtube zyrte 17 12,924 18/11/2012, 11:31
Last Post: CrazyCat

Forum Jump:


Users browsing this thread: 1 Guest(s)