Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


[Demande] bind pubm SQL
#16
Pour ma part, je ne sais pas comment set une liste a partir d'une base SQL aurais-tu un TCL ou un exemple sous la main s'il te plait @ CrazyCat ? Merci
#17
Vous avez pourtant tous les éléments...

Dans la procédure d'initialisation du script:

tcl
mysqlsel $::mysqlink "SELECT mot, salon FROM box"
::mysql::map $::mysqlink { mot salon } {
   lappend ::badwords([string tolower $salon]) $mot
}


Et le script "actif":

tcl
bind pubm - * verifmot
proc verifmot {nick uhost handle chan text} {
   set chan [string tolower $chan]
   set words [split [string tolower $text]]
   set matches [lintersect $words $::badwords($chan)]
   if {[llength $matches]>0 } {
      putserv "PRIVMSG $chan :Badword(s) detected: [join $matches]"
   }
   return 0
}
 
proc lintersect {list1 list2} {
   foreach element $list1 {
      if { ($element in $list2) } { lappend intersect $element }
   }
   return $intersect
}

irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#18
(02/04/2017, 00:14)CrazyCat Wrote: Vous avez pourtant tous les éléments...

Dans la procédure d'initialisation du script:

tcl
mysqlsel $::mysqlink "SELECT mot, salon FROM box"
::mysql::map $::mysqlink { mot salon } {
   lappend ::badwords([string tolower $salon]) $mot
}


Et le script "actif":

tcl
bind pubm - * verifmot
proc verifmot {nick uhost handle chan text} {
   set chan [string tolower $chan]
   set words [split [string tolower $text]]
   set matches [lintersect $words $::badwords($chan)]
   if {[llength $matches]>0 } {
      putserv "PRIVMSG $chan :Badword(s) detected: [join $matches]"
   }
   return 0
}
 
proc lintersect {list1 list2} {
   foreach element $list1 {
      if { ($element in $list2) } { lappend intersect $element }
   }
   return $intersect
}

Super, merci beaucoup !


Forum Jump:


Users browsing this thread: 1 Guest(s)