Messages : 10
Sujets : 1
Inscription : Mar 2008
Niveau d’avertissement :
0%
Effectivement, avec le bon script ça marche beaucoup mieux
Merci bcp ealexp
Messages : 32
Sujets : 5
Inscription : Oct 2009
Niveau d’avertissement :
0%
bonjour
j'ai télécharger la nouvelle version de vdm ( 2.0 ) et il marche nikel quand je tape !vdm, mais en lui rajoutant le bind time il diffusera rien et voici le msg d'erreur : Tcl error [AutoMsgVdm]: can't read "vdm::allowed_chans": no such variable
qq1 a une idée svp ?
Messages : 438
Sujets : 17
Inscription : Sep 2008
Niveau d’avertissement :
0%
26/11/2010, 16:53
(Modification du message : 26/11/2010, 17:05 par fedora .)
tien voila le tcl qui fonctionne avec l'auto message toutes les 10mn !
tclcopier
###############################################
# #
# V i e D e M e r d e #
# v1.0 (01/01/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
#
#
# 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 * "\0 0304\0 02\[ VDM - ERREUR\] \0 02\0 03 La version de votre eggdrop est \0 0304\0 02[lindex [split $version] 0]\0 02\0 03; vdm.tcl ne fonctionnera correctement que sur les eggdrops version 1.6.18 ou supérieure." ; return }
if { $tcl_version < 8.4 } { putloglev o * "\0 0304\0 02\[ VDM - ERREUR\] \0 02\0 03 vdm.tcl nécessite que Tcl 8.4 (ou plus) soit installé pour fonctionner. Votre version actuelle de Tcl est \0 0304\0 02$tcl_version\0 02\0 03." ; 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 "#Salon"
#### 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 #
# #
####################################################################
variable scriptname "VieDeMerde"
variable version "1.0.20090101"
# 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 time -|- { * 0 * * * * } ::AutoMsgVdm
bind pub $vdmauth $vdmcmd [ namespace current] ::pub_disp_vdm
proc uninstall { args} {
putlog "Désallocation des ressources de \0 02$vdm::scriptname...\0 02"
unbind evnt - prerehash [ namespace current] ::uninstall
catch { unbind pub $vdm ::vdmauth $vdm ::vdmcmd [ namespace current] ::pub_disp_vdm }
namespace delete ::vdm
}
}
# Envoie de la Citation sur le Salon
# -> Tout les combiens de minutes voulez vous que la publicité soit envoyé ?
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 "\0 02VDM\0 02" res
set result [ vdm::string_filter $res ]
puthelp "privmsg $chan :(\0 02Vie De Merde\0 02) $result"
} else {
puthelp "privmsg $chan :\0 0314La connexion à \0 02Vie de merde\0 02 n'a pu être établie. Peut-être le site rencontre-t-il des difficultés techniques. Veuillez réessayer plus tard.\0 03"
}
}
}
proc vdm::pub_disp_vdm { nick host handle chan args} {
if { [ lsearch -exact [ split $vdm ::allowed_chans ] $chan ] ! = -1 } {
if { ( $vdm ::antiflood == 1 ) && ( [ vdm::antiflood $chan "vdm" ] == "flood" ) } { return }
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 "\0 02VDM\0 02" res
set result [ vdm::string_filter $res ]
puthelp "privmsg $chan :(\0 02Vie De Merde\0 02) $result"
} else {
puthelp "privmsg $chan :\0 0314La connexion à \0 02Vie de merde\0 02 n'a pu être établie. Peut-être le site rencontre-t-il des difficultés techniques. Veuillez réessayer plus tard.\0 03"
}
}
}
##### Conversion des caractères html spéciaux et filtrage des balises HTML
proc vdm::string_filter { str } {
set str [ string map -nocase {
"à" "à" "à" "à" "á" "á" "â" "â"
"ã" "ã" "ä" "ä" "å" "å" "æ" "æ"
"ç" "ç" "è" "è" "é" "é" "ê" "ê"
"ë" "ë" "ì" "ì" "í" "í" "î" "î"
"ï" "ï" "ð" "ð" "ñ" "ñ" "ò" "ò"
"ó" "ó" "ô" "ô" "õ" "õ" "ö" "ö"
"÷" "÷" "ø" "ø" "ù" "ù" "ú" "ú"
"û" "û" "ü" "ü" "ý" "ý" "þ" "þ"
"ÿ" "ÿ" """ "\" " "&" "&" "€" "€"
"œ" "Å“" "Ÿ" "Ÿ" " " " " "¡" "¡"
"¢" "¢" "£" "£" "¤" "¤" "¥" "Â¥"
"¦" "¦" "&brkbar;" "¦" "§" "§" "¨" "¨"
"¨" "¨" "©" "©" "ª" "ª" "«" "«"
"¬" "¬" "­" "Â-" "®" "®" "¯" "¯"
"&hibar;" "¯" "°" "°" "±" "±" "²" "²"
"³" "³" "´" "´" "µ" "µ" "¶" "¶"
"·" "·" "¸" "¸" "¹" "¹" "º" "º"
"»" "»" "¼" "¼" "½" "½" "¾" "¾"
"¿" "¿" "À" "À" "Á" "Ã" "Â" "Â"
"Ã" "Ã" "Ä" "Ä" "Å" "Å" "Æ" "Æ"
"Ç" "Ç" "È" "È" "É" "É" "Ê" "Ê"
"Ë" "Ë" "Ì" "í" "Í" "Ã" "Î" "Î"
"Ï" "Ã" "Ð" "Ã" "Đ" "Ã" "Ñ" "Ñ"
"Ò" "Ò" "Ó" "Ó" "Ô" "Ô" "Õ" "Õ"
"Ö" "Ö" "×" "×" "Ø" "Ø" "Ù" "Ù"
"Ú" "Ê" "Û" "Û" "Ü" "í" "Ý" "Ã"
"Þ" "Î" "ß" "ß" "\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 :\0 037:::\0 0314 Contrôle de flood activé pour la commande \0 02!$type\0 02 : pas plus de $max_instances requête(s) toutes les $instance_length secondes.\0 03"
} else {
putquick "privmsg $chan :\0 037:::\0 0314 Contrôle de flood sur les commandes de \0 02Vie De Merde\0 02 : pas plus de $max_instances commandes toutes les $instance_length secondes.\0 03"
}
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 "\0 02*$vdm::scriptname v$vdm::version*\0 02 par Galdinx et MenzAgitat ( \0 37\0 0312http://www.boulets-roxx.com\0 03\0 37 ) a été chargé."
si tu veut changer le temps c'est ici
tclcopier
bind time -|- { * 0 * * * * } ::AutoMsgVdm
tu change le 0 par ce que tu veut mais avant de faire quoi que ce soit je te conseil de lire ici
Bind time
[font=Times New Roman]La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger. [/font]
Messages : 32
Sujets : 5
Inscription : Oct 2009
Niveau d’avertissement :
0%
re
fedora crois-tu pas qu'il faut changer
set url "http://www.viedemerde.fr/aleatoire"
par
set url_aleatoire "http://www.viedemerde.fr/aleatoire"
Messages : 2,323
Sujets : 192
Inscription : Apr 2004
Est-ce que VDM (le site) ne serait pas en maintenance ? Ah ben si...
Messages : 52
Sujets : 5
Inscription : Mar 2010
Niveau d’avertissement :
0%
Celle ci ne contient pas le timer qui fera que l'egg sortira une VDM toutes les 10 min. Faudrait le rajouter pour la version 3. Biz