I explain: I have a script of jokes which can send the jokes all X minutes but which it is necessary to adjust in the blague.tcl file
I wanted for example to create a command with a bind pub that when I bang !Addtemp X (X being a figure in minutes) that replaces me in the blague.tcl file the following line
Code: Select all
set blagues(time) 5
If somebody had an idea, I am interested.
Thank you in advance.
___________
Here is the code
Code: Select all
#####################################################################
## Configuration du Script ##########################################
#####################################################################
# Anti flood sur les commandes du Bot x:y (x=nombre de fois, y=secondes) :
set fun(flood) 5:10
# Ignorer l'utilisateur après son flood (0=non, 1=oui) :
set fun(ignore) 0
# Si oui, combien de temps (en minutes) :
set fun(ignoretime) 0
# Laisser faire les utilisateurs ayant certains flags :
set fun(ignflags) "-|-"
## Blagues ##########################################################
#####################################################################
# Channels où seront envoyés les blagues :
set blagues(chans) "#chan"
# Intervalle de temps entre chaque blague en minutes (0=désactivé) :
set blagues(time) 5
# Editer ici les blagues :
set blagues(msgs) {
"Citation : C'est parce que la vitesse de la lumière est supérieure à celle du son, que beaucoup de gens paraissent brillants avant d'avoir l'air con."
"Citation : La main droite c'est celle où tu as le pouce à gauche."
"Citation : Je marche pieds nus pour ne plus péter plus haut que mon cul."
"Citation : La dictature, c'est ferme ta gueule, et la démocatie, c'est cause toujours (Woody Allen)."
"Citation : Avec les capotes Nestor, t'es pas né, t'es pas mort (Coluche)."
"Citation : Je ne parle pas aux cons, ça les instruit (Audiard)."
"Citation : Les hommes préfèrent les blondes parce que les blondes savent ce que les hommes préfèrent (Marilyn Monroe)"
"Citation : Le travail est l'opium du peuple et je ne veux pas mourir drogue (Boris Vian)"
"Citation : Les meilleurs moments de la vie à deux, c'est quand on est tout seul (Pierre Dac)"
}
#####################################################################
#####################################################################
#####################################################################
proc fun:flood:init {} {
global fun funflood
set fun(floodnum) [lindex [split $fun(flood) :] 0]
set fun(floodtime) [lindex [split $fun(flood) :] 1]
set i [expr $fun(floodnum) - 1]
while {$i >= 0} {
set funflood($i) 0
incr i -1
}
}
fun:flood:init
proc fun:flood {nick uhost} {
global fun funflood botnick
if {$fun(floodnum) == 0} {
return 0
}
set i [expr $fun(floodnum) - 1]
while {$i >= 1} {
set funflood($i) $funflood([expr $i - 1])
incr i -1
}
set funflood(0) [unixtime]
if {[expr [unixtime] - $funflood([expr $fun(floodnum) - 1])] <= $fun(floodtime)} {
if {$fun(ignore)} {
newignore [join [maskhost *!*[string trimleft $uhost ~]]] $botnick "Flood" $fun(ignoretime)
}
return 1
} {
return 0
}
}
proc fun:pub:bot {nick uhost hand channel arg} {
global fun bot botnick
if ![matchattr $nick $fun(ignflags) $channel] {
if {[fun:flood $nick $uhost]} {
return 0
}
}
if {(([lsearch -exact [string tolower $bot(chans)] [string tolower $channel]] != -1) || ($bot(chans) == "*")) && (![matchattr $hand b]) && ($nick != $botnick)} {
putserv "PRIVMSG $channel :[lindex $bot(msgs) [rand [llength $bot(msgs)]]]"
return 1
}
}
if {(($blagues(time) != 0) && (![string match "*fun:blagues*" [timers]]))} {
timer $blagues(time) fun:blagues
}
proc fun:blagues {} {
global blagues
foreach channel $blagues(chans) {
puthelp "PRIVMSG $channel :[lindex $blagues(msgs) [rand [llength $blagues(msgs)]]]"
}
if {(($blagues(time) != 0) && (![string match "*fun:blagues*" [timers]]))} {
timer $blagues(time) fun:blagues
}
return 1
}
I would like to create a command !addtemp X ( X= temp ) And what it modifies the time which is situated on the line.
Example : At present the line is
Code: Select all
set blagues(time) 5
the line becomes
Code: Select all
set blagues(time) 10