Bonjour,
j'ouvre se post pour évité de polluer un autre post qui se trouve sur se lien
J'ai repris le code donnée comme indiqué sur se lien (Cliquer ici)
pour faire une newslist d'absence.
J'ai deux petit souci que je n'arrive pas a résoudre.
1Er souci c'est que si une personne tape !pasla sans le message sa va affiché :
exemple :
Pseudo tape !pasla
Le bot lui répond vous avez oublier de mettre votre absence
2eme souci c'est quand une personne tape !listabsent ou !absent on voie pas les numéro des lignes exemple :
sa aurait du marquer un truc comme sa :
Petite question et il possible de faire un truc dans le style :
!abs pseudo et que sa affiche tout les absences du pseudo donner ?
un truc qui serrer même mieux je pense que !abslist et d'avoir toute la list.
Merci de votre aide et de votre compréhension
Je vous mais le code ici :
J'espère que se code va aussi servir a d'autre :)
Cordialement Stéphane
j'ouvre se post pour évité de polluer un autre post qui se trouve sur se lien
J'ai repris le code donnée comme indiqué sur se lien (Cliquer ici)
pour faire une newslist d'absence.
J'ai deux petit souci que je n'arrive pas a résoudre.
1Er souci c'est que si une personne tape !pasla sans le message sa va affiché :
Citation : *Notice* - Bot - 12:04:12 pseudo {}Comment faire pour envoyer un notice pour dire qu'il / quelle na pas envoyer de motif
exemple :
Pseudo tape !pasla
Le bot lui répond vous avez oublier de mettre votre absence
2eme souci c'est quand une personne tape !listabsent ou !absent on voie pas les numéro des lignes exemple :
Citation : *Notice* - Bot - 12:04:12 pseudo1 et un de plus teste d'absence :))
*Notice* - Bot - 12:04:12 pseudo2 absent du 12/04/2012 au 16/04/2012
sa aurait du marquer un truc comme sa :
Citation : *Notice* - Bot - Absence 1 - pseudo1 et un de plus teste d'absence :)) . 12 April 2012a 12:05:36
*Notice* - Bot - Absence 2 - pseudo2 absent du 12/04/2012 au 16/04/2012 . le 12 April 2012 a 12:04:12
Petite question et il possible de faire un truc dans le style :
!abs pseudo et que sa affiche tout les absences du pseudo donner ?
un truc qui serrer même mieux je pense que !abslist et d'avoir toute la list.
Merci de votre aide et de votre compréhension
Je vous mais le code ici :
tcl
############
# absent.tcl #
############
set backroom "#Salon";
set base "/home/Login/shell/Bot/logs/absence.log";
bind pub - "!aide" absent:help
proc absent:help {nick uhost handle chan text} {
putquick "NOTICE $nick :\00312Debut de l'aide"
putquick "NOTICE $nick :\00304!pasla <absent>\00312 Pour ajouter une absence"
putquick "NOTICE $nick :\00304!absent <numero>\00312 Pour voir une absence precise"
putquick "NOTICE $nick :\00304!listabs\00312 Pour voir toute la list des absents"
putquick "NOTICE $nick :\00304!delabsent <numero>\00312 Pour suprimer une absence"
putquick "NOTICE $nick :\00312Fin de l'aide a la liste des absents du Staff"
}
bind pub - "!pasla" absent:sent
proc absent:sent {nick uhost handle chan text} {
set fp [open $::base a]
puts $fp "[clock format [clock seconds] -format "%d:%m:%y"] $nick $text"
close $fp
putquick "NOTICE $nick :\00312Votre absent a été enregistrée"
}
bind pub - "!absent" absent:read
proc absent:read {nick uhost handle chan args} {
if {[lindex $args 0] eq ""} {
return 0
} else {
set nb [lindex $args 0]
}
set fp [open $::base r]
set cpt 0
set data [read -nonewline $fp]
close $fp
foreach templine [split $data "\n"] {
incr cpt
if {$cpt == $nb} {
set line [split $templine]
set user [lindex $line 0]
putquick "PRIVMSG $::backroom $user\00312 => [lrange $line 1 end]"
return 1
}
}
putquick "PRIVMSG $::backroom \00312absent $nb introuvable"
}
bind pub - "!listabs" news:list
proc news:list {nick uhost handle chan text} {
set fp [open $::base r]
set data [read -nonewline $fp]
close $fp
foreach templine [split $data "\n"] {
set line [split $templine]
puthelp "NOTICE $nick :$line"
}
}
bind pub - "!delabsent" absent:del
proc absent:del {nick uhost handle chan args} {
if {[lindex $args 0] eq ""} {
return 0
} else {
set nb [lindex $args 0]
}
set fp [open $::base r]
set cpt 0
set data [read -nonewline $fp]
close $fp
set fp [open $::base w]
foreach templine [split $data "\n"] {
incr cpt
if {$cpt != $nb} {
puts $fp $templine
}
}
close $fp
putquick "NOTICE $nick :\00312La list d'absent $nb as été suprimée"
}
J'espère que se code va aussi servir a d'autre :)
Cordialement Stéphane