Il y a eu une demande sur eggheads pour pouvoir utiliser Erratum en "sed-like", c'est à dire pour pouvoir faire
C'est faisable assez simplement en modifiant très peu de choses:
Configuration
Remplacer la valeur de erratum_cmd (par défaut "!erratum") par "s/"
Hack
Commenter le
Modifier la procédure user_msg_listen pour qu'elle devienne:
Comme vous voyez, là où précédemment une ligne commençant par la commande d'erratum était ignorée, maintenant elle appelle la procédure en simulant une commande pub.
s/ancien/nouveau
C'est faisable assez simplement en modifiant très peu de choses:
Configuration
Remplacer la valeur de erratum_cmd (par défaut "!erratum") par "s/"
Hack
Commenter le
bind pub $::erratum::erratum_auth $::erratum::erratum_cmd ::erratum::process
Modifier la procédure user_msg_listen pour qu'elle devienne:
tcl
proc ::erratum::user_msg_listen {nick host hand chan text} {
if {![channel get $chan erratum] || [string index $text 0] eq "\001"} {
# Exit aussi sur les /me qui sont vus par le bind pubm
return
} elseif {[::tcl::string::match -nocase "$::erratum::erratum_cmd*" $text]} {
# Hack pour exploiter le pubm s/...
::erratum::process $nick $host $hand $chan [string trimleft [string range $text [string length $::erratum::erratum_cmd] end]]
} else {
::tcl::dict::lappend ::erratum::memory $chan "<$nick> $text"
if { [llength [::tcl::dict::get $::erratum::memory $chan]] > $::erratum::max_memory } {
::tcl::dict::set ::erratum::memory $chan [lreplace [::tcl::dict::get $::erratum::memory $chan] 0 0]
}
}
}
Comme vous voyez, là où précédemment une ligne commençant par la commande d'erratum était ignorée, maintenant elle appelle la procédure en simulant une commande pub.