Communauté Eggdrop
[script] Vie de merde (VDM) - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+---- Forum : Releases et support (https://forum.eggdrop.fr/forumdisplay.php?fid=20)
+---- Sujet : [script] Vie de merde (VDM) (/showthread.php?tid=338)

Pages : 1 2 3 4 5 6 7 8


RE: [script] Vie de merde (VDM) - Yannick80 - 09/10/2010

Effectivement, avec le bon script ça marche beaucoup mieux
Merci bcp ealexp


RE: [script] Vie de merde (VDM) - prates - 26/11/2010

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 ?


RE: [script] Vie de merde (VDM) - fedora - 26/11/2010

tien voila le tcl qui fonctionne avec l'auto message toutes les 10mn !

tcl
###############################################
#                                               #
#             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 * "\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 "#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 \002$vdm::scriptname...\002"
 		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 "\002VDM\002" 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"
		}
	}
  }
 
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 "\002VDM\002" 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"				""
		"'"			"\'"	"'"				"\'"	"&gt;"				">"		"&lt;"				"<"
		"""				"\'"	"&"				"&"		"#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é."



si tu veut changer le temps c'est ici

tcl
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


RE: [script] Vie de merde (VDM) - pheeric - 26/11/2010

prates a écrit :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 ?

Bjr
t'as pas oublier de faire en PL de ton bot :
.chanset #canal +vdm

???
au cas ou cela soit ça Smile
sinon bah je ne sais po ^^


RE: [script] Vie de merde (VDM) - pheeric - 26/11/2010

fedora a écrit :tien voila le tcl qui fonctionne avec l'auto message toutes les 10mn !

tcl
###############################################
#                                               #
#             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 * "\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 "#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 \002$vdm::scriptname...\002"
 		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 "\002VDM\002" 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"
		}
	}
  }
 
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 "\002VDM\002" 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"				""
		"'"			"\'"	"'"				"\'"	"&gt;"				">"		"&lt;"				"<"
		"""				"\'"	"&"				"&"		"#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é."



si tu veut changer le temps c'est ici

tcl
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

Bjr aussi Smile

remémore moi le "0" correspond a combien ds le bind time ?
bind time -|- {*0 * * * *} ::AutoMsgVdm

CdT Smile


RE: [script] Vie de merde (VDM) - prates - 26/11/2010

re

merci fedora c'est cela que je chercher ( je l'avais avc ton code de bind et je l'ai perdu :p ) parce qu'il marcher nikel, mais j'aime bien savoir pourquoi la version 2.0 me sort ce msg d'erreur Smile
pheeric non j'ai pas oublier le .chanset #salon +vdm, la preuve qu'il fonctionne quand je tape !vmd Smile


RE: [script] Vie de merde (VDM) - pheeric - 26/11/2010

prates a écrit :re

merci fedora c'est cela que je chercher ( je l'avais avc ton code de bind et je l'ai perdu :p ) parce qu'il marcher nikel, mais j'aime bien savoir pourquoi la version 2.0 me sort ce msg d'erreur Smile
pheeric non j'ai pas oublier le .chanset #salon +vdm, la preuve qu'il fonctionne quand je tape !vmd Smile

Smile
impec 2pecs.
En fait le 0 c'est 10 minutes après me souviens plus des autres chiffres (mettre toutes les 20 mins par exemple ou 30 mins) pour pas foutre le dawa ds le proc du bin time


RE: [script] Vie de merde (VDM) - prates - 26/11/2010

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"


RE: [script] Vie de merde (VDM) - pheeric - 30/11/2010

Bonjour Smile

Bon moi depuis ce matin une erreur tcl a priori en PL (alors que tt fonctionnait hier lol)

Erreur ds la PL :
[11:39] Tcl error [::vdm::vdm_command]: can't read "vdm_list": no such variable


si qqun a une idée, je prend Smile

CdT


RE: [script] Vie de merde (VDM) - pheeric - 30/11/2010

pheeric a écrit :Bonjour Smile

Bon moi depuis ce matin une erreur tcl a priori en PL (alors que tt fonctionnait hier lol)

Erreur ds la PL :
[11:39] Tcl error [::vdm::vdm_command]: can't read "vdm_list": no such variable


si qqun a une idée, je prend Smile

CdT


Je rajoute que le VDM est la version 2 et je ne la fait fonctionner que par !vdm

merci Smile


RE: [script] Vie de merde (VDM) - CrazyCat - 30/11/2010

Est-ce que VDM (le site) ne serait pas en maintenance ? Ah ben si...


RE: [script] Vie de merde (VDM) - pheeric - 30/11/2010

je suis même pas allé voir sur le site :/

bouhh Smile


RE: [script] Vie de merde (VDM) - alanfollow - 13/12/2010

Bonsoir,

Moi j'ai cette erreur, on peux faire mieux? lol
Il ne reconnait pas la commande en PL ".chanset #chan +vdm"

Code :
0,1(05•00-00 21:58 00-05•00) <(athena> [21:58] *VieDeMerde v1.0.20090101* par Galdinx et MenzAgitat ( 12http://www.boulets-roxx.com ) a été chargé.
00,01(05•00-00 21:58 00-05•00) <(athena> [21:58] No longer supporting channel #Motus
00,01(05•00-00 21:58 00-05•00) <(athena> [21:58] Ban(s) ignoré(s) pour le(s) canal(aux): #Motus
00,01(05•00-00 21:58 00-05•00) <(athena> [21:58] Userfile loaded, unpacking...
00,01(05•00-00 21:58 00-05•00) <ALaN> .chanset #loft +vdm
00,01(05•00-00 21:58 00-05•00) <(athena> Error trying to set +vdm for #loft, invalid mode.
Code :
(•- 22:00 -•) <(athena> [22:00] Tcl error [::AutoMsgVdm]: can't read "res": no such variable

Bonne soirée.


RE: [script] Vie de merde (VDM) - MenzAgitat - 14/12/2010

utilise donc une version à jour : VDM v2.0


RE: [script] Vie de merde (VDM) - alanfollow - 15/12/2010

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