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


VDM.tcl qui publie toutes les X minutes
#15
moi sa me donne sa :o !


Eggdrop v1.6.19 © 1997 Robey Pointer © 2008 Eggheads
[05:04] --- Loading eggdrop v1.6.19 (Sat May 15 2010)
[05:04] Module loaded: dns
[05:04] Module loaded: channels
[05:04] Module loaded: server
[05:04] Module loaded: ctcp
[05:04] Module loaded: irc
[05:04] Module loaded: console (with lang support)
[05:04] Module loaded: blowfish
[05:04] Listening at telnet port 3339 (all).
[05:04] Oper by Dragon061 à bien étais ajouter à votre EggDrop
[05:04] Tcl error in file 'eggdrop.conf':
[05:04] can't read "vdm::scriptname": no such variable
while executing
"putlog "\002*$vdm::scriptname v$vdm::version*\002 par Galdinx et MenzAgitat ( \037\00312http://www.boulets-roxx.com\003\037 ) a été chargé." "
(file "scripts/animation.tcl" line 484)
invoked from within
"source scripts/animation.tcl"
(file "eggdrop.conf" line 99)
[05:04] * FICHIER DE CONFIGURATION NON CHARGE (INTROUVABLE OU ERREUR)


et regarde le code que j'ai ajouté

tcl
########################
##### VIE DE MERDE #####
########################
 
 
###############################################
#                                               #
#             V i e D e M e r d e               #
#  v1.1 (12/03/2009) par Galdinx et MenzAgitat  #
#                                               #
#          http://www.boulets-roxx.com          #
#        IRC:  irc.teepi.net    #boulets        #
#              irc.epiknet.org  #boulets        #
#                                               #
#         Les scripts de MenzAgitat sont        #
#  téléchargeables sur  http://www.egghelp.org  #
#                   ou  http://www.eggdrop.fr   #
#                                               #
 ###############################################
 
#
# Description
# Script permettant d'afficher une citation au hasard pris sur le site 
# http://www.viedemerde.fr/ grâce a une commande publique, "!vdm" par exemple
#
 
#
# Changelog
#
# 1.0 - 1ère version
# 1.1 - Correction suite à un changement de payload du site + simplification des regsub
#
 
#
# LICENCE:
#   This program is free software; you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation; either version 2 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
 
if { [lindex [split $version] 1] < 1061800 } { putloglev o * "\00304\002\[VDM - ERREUR\]\002\003 La version de votre eggdrop est \00304\002[lindex [split 
 
$version] 0]\002\003; vdm.tcl ne fonctionnera correctement que sur les eggdrops version 1.6.18 ou supérieure." ; return }
if { $tcl_version < 8.4 } { putloglev o * "\00304\002\[VDM - ERREUR\]\002\003 vdm.tcl nécessite que Tcl 8.4 (ou plus) soit installé pour fonctionner. Votre 
 
version actuelle de Tcl est \00304\002$tcl_version\002\003." ; return }
package require Tcl 8.4
if {[info commands vdm::uninstall] eq "::vdm::uninstall"} { vdm::uninstall }
 
namespace eval vdm {
 
 
 
###########################
#          PARAMETRES      #
###########################
 
    # Chans sur lesquels le script sera actif (séparés par un espace)
    # Remarque : attention aux majuscules, le nom du chan est sensible à la casse
    variable allowed_chans "#Accueil"
 
 
    #### COMMANDES PUBLIQUES ET AUTORISATIONS
 
    # Commande utilisée pour afficher une citation
    # ex. : "!vdm"
    variable vdmcmd "!vdm"
    # autorisations pour la commande !vdm
    variable vdmauth "-|-"
 
 
    #### PARAMETRES DE L'ANTI-FLOOD
 
    # Anti-flood (0 = désactivé, 1 = activé)
    variable antiflood 1
    # Combien de commandes sont autorisées en combien de temps ?
    # exemple : "4:45" = 4 commandes maximum en 45 secondes;
    # les suivantes seront ignorées.
    variable cmdflood_vdm "4:45"
    # Intervalle de temps minimum entre l'affichage de 2 messages
    # avertissant que l'anti-flood a été déclenché (ne réglez pas
    # cette valeur trop bas afin de ne pas être floodé par les messages
    # d'avertissement de l'anti-flood...)
    variable antiflood_msg_interval 20
 
 
 
 
####################################################################
#                                                                  #
# NE MODIFIEZ RIEN APRES CE CADRE SI VOUS NE CONNAISSEZ PAS LE TCL #
#                                                                  #
#   DO NOT MODIFY ANYTHING BELOW THIS BOX IF YOU DON'T KNOW TCL    #
#                                                                  #
####################################################################
 
        utimer 10 vdm::timerAnnounce
        proc ::vdm::timerAnnounce {} {
        vdm::pub_disp_vdm 0 - - - <CHAN>
        utimer 10 vdm::timerAnnounce
 
    variable scriptname "VieDeMerde"
    variable version "1.1.20090312"
 
    # inutilisé, conservé au cas où
    variable cmdflood_global "5:120"
 
    variable floodsettingsstring [split "global $cmdflood_global vdm $cmdflood_vdm"]
    variable floodsettings ; array set floodsettings $floodsettingsstring
    variable instance ; array set instance {}
    variable antiflood_msg ; array set antiflood_msg {}
    bind evnt - prerehash [namespace current]::uninstall
    bind pub $vdmauth $vdmcmd {vdm::pub_disp_vdm 0}
    proc uninstall {args} {
        putlog "Désallocation des ressources de \002$vdm::scriptname...\002"
        unbind evnt - prerehash [namespace current]::uninstall
        catch { unbind pub $vdm::vdmauth $vdm::vdmcmd {vdm::pub_disp_vdm 0}}
        namespace delete ::vdm
    }
 
}
 
 
bind time -|- {*0 * * * *} ::AutoMsgVdm
 
proc ::AutoMsgVdm {min hour args} {
global botnick
 
foreach chan $vdm::allowed_chans {
 
        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"
        set url "http://www.viedemerde.fr/aleatoire"
 
        ::http::config -useragent $useragent
        set token [::http::geturl "$url" -timeout 6000]
 
        if {[::http::status $token] == "ok"} {
            regexp {<div class="post">(.+?)</p>} [::http::data $token] res
            regsub {<div class="post"><p>} $res "" res
            regsub "<img src=\"http://cdn.betacie.com/viedemerde/images/new.png\" align=\"absmiddle\" /> " $res "" res
            regsub {</p>} $res "" res
            regsub {n} $res "" res
            regsub -all {<a href="[^\ ]+" class="lienvdm">} $res "" res
            regsub -all {</a>} $res "" res
            regsub {VDM$} $res "\002VDM\002" res
            regsub {^<a href=.+?>} $res "" res
            set result [vdm::string_filter $res]
            puthelp "privmsg $chan :(\002Vie De Merde\002) $result"
        } else {
            puthelp "privmsg $chan :\00314La connexion à \002Vie de merde\002 n'a pu être établie. Peut-être le site rencontre-t-il des difficultés techniques. Veuillez réessayer plus tard.\003"
        }
    }
  } 
} 
 
##### Conversion des caractères html spéciaux et filtrage des balises HTML
proc vdm::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;"                "&"        
 
"&euro;"            "€"
        "&oelig;"            "œ"        "&Yuml;"            "Ÿ"        "&nbsp;"            " "        
 
"&iexcl;"            "¡"
        "&cent;"            "¢"        "&pound;"            "£"        "&curren;"            "¤"        
 
"&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"                ""
        "'"            "\'"    "'"                "\'"    ">"                ">"        "<"        
 
        "<"
        """                "\'"    "&"                "&"        "#91;"                "\("    "\"        
 
        "\/"
        "]"                ")"        "{"            "("        "}"            ")"        
 
"£"            "£"
        "¨"            "¨"        "©"            "©"        "«"            "«"        
 
" "            " "
        "®"            "®"        "´"            "´"        "·"            "·"        
 
"¹"            "¹"
        "»"            "»"        "¼"            "¼"        "½"            "½"        
 
"¾"            "¾"
        "À"            "À"        "Á"            "Á"        "Â"            "Â"        
 
"Ã"            "Ã"
        "Ä"            "Ä"        "Å"            "Å"        "Æ"            "Æ"        
 
"Ç"            "Ç"
        "È"            "È"        "É"            "É"        "Ê"            "Ê"        
 
"Ë"            "Ë"
        "í"            "í"        "Í"            "Í"        "Î"            "Î"        
 
"Ï"            "Ï"
        "Ð"            "Ð"        "Ñ"            "Ñ"        "Ò"            "Ò"        
 
"Ó"            "Ó"
        "Ô"            "Ô"        "Õ"            "Õ"        "Ö"            "Ö"        
 
"×"            "×"
        "Ø"            "Ø"        "Ù"            "Ù"        "Ê"            "Ê"        
 
"Û"            "Û"
        "í"            "í"        "Ý"            "Ý"        "Î"            "Î"        
 
"ß"            "ß"
        "à"            "à"        "á"            "á"        "â"            "â"        
 
"ã"            "ã"
        "ä"            "ä"        "å"            "å"        "æ"            "æ"        
 
"ç"            "ç"
        "è"            "è"        "é"            "é"        "ê"            "ê"        
 
"ë"            "ë"
        "ì"            "ì"        "í"            "í"        "î"            "î"        
 
"ï"            "ï"
        "ð"            "ð"        "ñ"            "ñ"        "ò"            "ò"        
 
"ó"            "ó"
        "ô"            "ô"        "õ"            "õ"        "ö"            "ö"        
 
"÷"            "÷"
        "ø"            "ø"        "ù"            "ù"        "ú"            "ú"        
 
"û"            "û"
        "ü"            "ü"        "ý"            "ý"        "þ"            "þ"        
 
    } $str]
    regsub -all "<br />" $str " " str
     set str [encoding convertfrom "utf-8" $str ]
    return "${str}"
}
 
 
proc vdm::antiflood {chan type} {
    variable antiflood_msg
    if {![info exists antiflood_msg($chan$type)]} { set antiflood_msg($chan$type) 0 }
    variable instance
    if {![info exists instance($chan$type)]} { set instance($chan$type) 0 }
    set max_instances [lindex [split $vdm::floodsettings($type) ":"] 0]
    set instance_length [lindex [split $vdm::floodsettings($type) ":"] 1]
    if { $instance($chan$type) >= $max_instances } {
        if { $antiflood_msg($chan$type) == 0 } {
            set antiflood_msg($chan$type) 1
            if {$type != "global"} {
                putquick "privmsg $chan :\0037:::\00314 Contrôle de flood activé pour la commande \002!$type\002 : pas plus de 
 
$max_instances requête(s) toutes les $instance_length secondes.\003"
            } else {
                putquick "privmsg $chan :\0037:::\00314 Contrôle de flood sur les commandes de \002Vie De Merde\002 : pas plus de 
 
$max_instances commandes toutes les $instance_length secondes.\003"
            }
            utimer $vdm::antiflood_msg_interval "vdm::antiflood_msg_reset $chan $type"
        }
        return "flood"
    } else {
        incr instance($chan$type)
        utimer $instance_length "vdm::antiflood_close_instance $chan $type"
        return "no flood"
    }
}
 
proc vdm::antiflood_close_instance {chan type} {
    variable instance
    if { $instance($chan$type) > 0 } { incr instance($chan$type) -1 }
}
 
proc vdm::antiflood_msg_reset {chan type} {
    variable antiflood_msg
    set antiflood_msg($chan$type) 0
}
 
 
 
putlog "\002*$vdm::scriptname v$vdm::version*\002 par Galdinx et MenzAgitat ( \037\00312http://www.boulets-roxx.com\003\037 ) a été chargé."


Je connais l'erreur... mais j'ignore quoi mettre comme variable et pour la fermeture je c'est pas c'est où. Alors merci de m'aider moi aussi avec ceci :$
Le meuilleur du Web www.zet-land.org


Messages In This Thread
RE: VDM.tcl qui publie toutes les X minutes - by Babytigrou16 - 15/05/2010, 05:07

Possibly Related Threads…
Thread Author Replies Views Last Post
  [Abandon] devoice auto au bout de X minutes Alucard`68 4 4,013 12/02/2017, 02:46
Last Post: Alucard`68
  Annonce X minutes lesny 14 7,990 25/11/2011, 18:03
Last Post: CrazyCat

Forum Jump:


Users browsing this thread: 1 Guest(s)