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


Code jeu ni oui ni non
#16
Re fedora,
encore merci de ton aide :)
Une protection pour mon bot comment sa ?

après si une personne dit ouiiiiiii sa ne devrai plus fonctionné me semble mais je ni connais pas assez

Cordialement Stéphane,

fedora Wrote:dans ce cas là faut faire une exception pour proteger ton bot
hésitez pas de visité http://www.tchat-fusion.org/
ou part irc /server -m irc.tchat-fusion.org
#17
Tiens pour se que sa intéresse je mais mon code en mirc, le ttemps de trouvé comment le codé en TCL ou si sa peut m'aidé a le créer en TCL

Copier coller le code dans une nouvelle remote ALT+ R File Load

Code:
on @$*:text:/(^| )(o[-_.,; ]*u[-_.,; ]*i|n[-_.,; ]*o[-_.,; ]*n|o[-_.,; ]*u[-_.,; ]*e|o[-_.,; ]*u[-_.,; ]*a[-_.,; ]*i[-_.,; ]*s|u[-_.,; ]*é|n[-_.,; ]*a[-_.,; ]*n|o[-_.,; ]*u[-_.,; ]*a[-_.,; ]*i|v[-_.,; ]*i[-_.,; ]*i[-_.,; ]*i|y[-_.,; ]*e[-_.,; ]*s|v[-_.,; ]*i[-_.,; ]*i|u[-_.,; ]*e|o[-_.,; ]*u[-_.,; ]*é)( |$)/iS:#nioui-ninon: {
/kick # $nick 7INTERDIS 12de dire les mots 7OUI 12ou 7NON 12sur peine de kick XD 
}
on @$*:NOTICE:/(^| )(o[-_.,; ]*u[-_.,; ]*i|n[-_.,; ]*o[-_.,; ]*n|o[-_.,; ]*u[-_.,; ]*e|o[-_.,; ]*u[-_.,; ]*a[-_.,; ]*i[-_.,; ]*s|u[-_.,; ]*é|n[-_.,; ]*a[-_.,; ]*n|o[-_.,; ]*u[-_.,; ]*a[-_.,; ]*i|v[-_.,; ]*i[-_.,; ]*i[-_.,; ]*i|y[-_.,; ]*e[-_.,; ]*s|v[-_.,; ]*i[-_.,; ]*i|u[-_.,; ]*e|o[-_.,; ]*u[-_.,; ]*é)( |$)/iS:#nioui-ninon: {
/kick # $nick 7INTERDIS 12de dire les mots 7OUI 12ou 7NON 12sur peine de kick XD 
}
on @$*:action:/(^| )(o[-_.,; ]*u[-_.,; ]*i|n[-_.,; ]*o[-_.,; ]*n|o[-_.,; ]*u[-_.,; ]*e|o[-_.,; ]*u[-_.,; ]*a[-_.,; ]*i[-_.,; ]*s|u[-_.,; ]*é|n[-_.,; ]*a[-_.,; ]*n|o[-_.,; ]*u[-_.,; ]*a[-_.,; ]*i|v[-_.,; ]*i[-_.,; ]*i[-_.,; ]*i|y[-_.,; ]*e[-_.,; ]*s|v[-_.,; ]*i[-_.,; ]*i|u[-_.,; ]*e|o[-_.,; ]*u[-_.,; ]*é)( |$)/iS:#nioui-ninon: {
/kick # $nick 7INTERDIS 12de dire les mots 7OUI 12ou 7NON 12sur peine de kick XD 
}

Cordialement Stéphane
hésitez pas de visité http://www.tchat-fusion.org/
ou part irc /server -m irc.tchat-fusion.org
#18
essaye comme sa


tcl
# Badword Kick by KuNgFo0
 
set badwords {
"oui"
"non"
}
# Kick MSG
set badword_msg "Bad Words"
 
# Channels
set badword_chans "#concept"
 
bind pubm - * pubm_badword
 
putlog "Badword loaded"
 
proc pubm_badword {nick uhost hand chan arg} {
        global badwords badword_msg badword_chans botnick
      set arg [stripcodes uacgbr $arg]
        if {(([lsearch -exact [string tolower $badword_chans] [string tolower $chan]] != -1) || ($badword_chans == "*")) && (![matchattr $hand b]) && ($nick != $botnick)} {
                foreach badword [string tolower $badwords] {
                        if {[string match -nocase $badword [string tolower $arg]]} {
                                putserv "KICK $chan $nick :$badword_msg"
                                return
                        }
                }
        }
}

La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#19
Bonsoir fedora,
Merci infiniment pour ton code mais avec se code sa ne fonctionne plus.

Cordialement Stéphane

fedora Wrote:essaye comme sa


tcl
# Badword Kick by KuNgFo0
 
set badwords {
"oui"
"non"
}
# Kick MSG
set badword_msg "Bad Words"
 
# Channels
set badword_chans "#concept"
 
bind pubm - * pubm_badword
 
putlog "Badword loaded"
 
proc pubm_badword {nick uhost hand chan arg} {
        global badwords badword_msg badword_chans botnick
      set arg [stripcodes uacgbr $arg]
        if {(([lsearch -exact [string tolower $badword_chans] [string tolower $chan]] != -1) || ($badword_chans == "*")) && (![matchattr $hand b]) && ($nick != $botnick)} {
                foreach badword [string tolower $badwords] {
                        if {[string match -nocase $badword [string tolower $arg]]} {
                                putserv "KICK $chan $nick :$badword_msg"
                                return
                        }
                }
        }
}
hésitez pas de visité http://www.tchat-fusion.org/
ou part irc /server -m irc.tchat-fusion.org
#20
Bonsoir,
un truc dans se code que je ne trouve pas après plusieurs kick il banni
Comment viré le code qui banni ? svp merci :)
J'ai supprimer cette ligne && (![matchattr $hand b]) mais sa na rien changer je suis vraiment nul en tcl lol


Code:
# Badword Kick by KuNgFo0

set badwords {
"*oui*"
"*non*"
"*o u i*"
"*n o n*"
}
# Kick MSG
set badword_msg "8,1Attention tu viens d'être kické pour avoir dit le mot interdit oui ou Non :bete:"

# Channels
set badword_chans "#nioui-ninon"

bind pubm - * pubm_badword

putlog "Badword loaded"

proc pubm_badword {nick uhost hand chan arg} {
        global badwords badword_msg badword_chans botnick
      set arg [stripcodes uacgbr $arg]
        if {(([lsearch -exact [string tolower $badword_chans] [string tolower $chan]] != -1) || ($badword_chans == "*")) && (![matchattr $hand b]) && ($nick != $botnick)} {
                foreach badword [string tolower $badwords] {
                        if {[string match -nocase $badword $arg]} {
                                putserv "KICK $chan $nick :$badword_msg"
                                return
                        }
                }
        }
}
Ps : en attendent de trouvé mieux ou de savoir coder le tcl je ferrais avec se code sa dépanne bien :)

Cordialement Stéphane
hésitez pas de visité http://www.tchat-fusion.org/
ou part irc /server -m irc.tchat-fusion.org
#21
faut que ton bot détecte le mot "oui" ou "non" dans une phrase ? ou juste si une personne marque "oui" ou "non"
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#22
en recherchant un peut sur le site,je suis tomber sur le code de Dj_KennY qui fait un peut ce que tu recherche.j'ai ajouter un foreach.


tcl
namespace eval speak {
   # variable contenant les mots à reconnaitre
   # on pourras utiliser des wildchar * ?
   variable bonjour {oui non}
  setudef flag OuiNon
}
 
bind pubm - * speak::bonjour
proc speak::bonjour {nick host hand chan text} {
   # on déclare les variable bonjour
   variable bonjour
   if {[channel get $chan OuiNon]} {
   # on debug le texte et on met tout en minuscules
   set text [stripcodes abcru $text]
   set text [string tolower $text]
   # on test si on trouve le texte dans la variable bonjour
    foreach mot $text {
   if {[lsearch -exact $bonjour $mot] != -1} {
       putserv "KICK $chan $nick :Attention tu viens d'être kické pour avoir dit le mot interdit oui ou Non :bete:"
 
   # on ferme les \} qu on a ouvert plus haut
   }
}
}
}


pour l'activer tape en pl .chanset #salon +OuiNon
essaye de tester comme sa voir. perso j'ai tester est sa fonctionne ...
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#23
Bonjour fedora,
Merci beaucoup de ton aide et de cette réponse ;)

Oui j'avais aussi trouvé cette source :p elle marche très bien :)

Mais je l'utilisé pas car je trouvé pas comment on pouvez ajouter les variable oui en O U I j'avais testé avec des étoiles O*U*I sa ne fonctionné pas :) donc la je viens de re faire le testé avec ton code il fonctionne tres bien mais il ne prend pas les variables "o*u*i" / "n*o*n" / "o u i" et "n o n"

Cordialement Stéphane

fedora Wrote:en recherchant un peut sur le site,je suis tomber sur le code de Dj_KennY qui fait un peut ce que tu recherche.j'ai ajouter un foreach.


tcl
namespace eval speak {
   # variable contenant les mots à reconnaitre
   # on pourras utiliser des wildchar * ?
   variable bonjour {oui non}
  setudef flag OuiNon
}
 
bind pubm - * speak::bonjour
proc speak::bonjour {nick host hand chan text} {
   # on déclare les variable bonjour
   variable bonjour
   if {[channel get $chan OuiNon]} {
   # on debug le texte et on met tout en minuscules
   set text [stripcodes abcru $text]
   set text [string tolower $text]
   # on test si on trouve le texte dans la variable bonjour
    foreach mot $text {
   if {[lsearch -exact $bonjour $mot] != -1} {
       putserv "KICK $chan $nick :Attention tu viens d'être kické pour avoir dit le mot interdit oui ou Non :bete:"
 
   # on ferme les \} qu on a ouvert plus haut
   }
}
}
}


pour l'activer tape en pl .chanset #salon +OuiNon
essaye de tester comme sa voir. perso j'ai tester est sa fonctionne ...
hésitez pas de visité http://www.tchat-fusion.org/
ou part irc /server -m irc.tchat-fusion.org
#24
perso je pense que si tu met *oui* ou *non* le bot fera plus la différence entre ouistitit et oui vue que oui sera détecter dedans...
la ton bot détecte bien si un user écris "oui" ou "non" dans une phrase.
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#25
Re fedora
Sa je suis d'accord avec toi :) mais la c'est avec des espaces dans le mot oui ou non ----> o u i / n o n et pas *oui*

Cordialement Stéphane

fedora Wrote:perso je pense que si tu met *oui* ou *non* le bot fera plus la différence entre ouistitit et oui vue que oui sera détecter dedans...
hésitez pas de visité http://www.tchat-fusion.org/
ou part irc /server -m irc.tchat-fusion.org
#26
Essaye de mettre dans la variable "n o n" et 'o u i '
La différence entre Linux et Windows ,c'est que Linux c'est comme une belle fille , il faut l'apprivoiser , la comprendre , la séduire tandis que Windows , c'est comme une prostitué , il faut payer et surtout bien se protéger.
#27
Rheuuu Fedora,
Je pensé pas que c'était possible :) j'ai mis comme sa :
Quote:variable bonjour {oui non 'n o n' 'o u i' }
C'est impeccable cela fonctionne ;)

Par contre un truc que je pige pas peut tu m'éclairai ?
avec cette variable :
Quote:variable bonjour {oui 'o u i' non 'n o n' nan 'n a n' oué 'o u é' ouais 'o u a i s' ouai 'o u a i' yes 'y e s'}

tout fonctionne sauf les lettre avec accent éàèê
et après si je tape o u ii ou o u iiiiiii sa me kick mais pas comme sa --> ouiiiiii

Cordialement Stéphane

Quote:[13:39] <snip74> o u ii
[13:39] * You were kicked by Nioui-Ninon (Attention tu viens d'être kické pour avoir dit le mot interdit oui ou Non :bete:)

Et ici sa ne kick plus --->
[13:40] <snip74> ouiii

J'ai aussi testé pour les actions de type /me ma phrase comporte le mot oui ou non en action cela devrait me kick

mais sa me foire mon code voici le code que j'ai ajouter :

Code:
bind ctcp - "ACTION" maproc
proc maproc {nick uhost hand chan key text} {
fedora Wrote:Essaye de mettre dans la variable "n o n" et 'o u i '
hésitez pas de visité http://www.tchat-fusion.org/
ou part irc /server -m irc.tchat-fusion.org
#28
salut,

Quote:et après si je tape o u ii ou o u iiiiiii sa me kick mais pas comme sa --> ouiiiiii
il faudrait peut être voir du coté de regexp ;)
d'ailleurs se serait même plus simple pour tout le reste du code
C'est en reconnaissant ses erreurs que l'on progresse ;)
Away
#29
Bonjour djkenny,
Merci de cette réponse :)
Oui en regexp sa ne serrait pas mal c'est un peut se que j'ai fait en Mirc plus haut sauf que je connais pas comment le coder si j'ai le code après pas de souci pour créer les regexp avec un 1 ou 2 model vue qu'il suffi de copier coller lol

encore un exemple j'ai mis la variable {oui 'o u i' 'o ui' 'ou i'}
Quand je tape oui / o u i / o ui / o uiiiii cela me kick sans souci :)

mais quand je tape ou iiiii / ou ii / ou iii bah la plus rien :/ tout de même bizarre vue que y a la variable les autre fonctionne mais pas celle la lol

Cordialement Stéphane

djkenny Wrote:salut,

Quote:et après si je tape o u ii ou o u iiiiiii sa me kick mais pas comme sa --> ouiiiiii
il faudrait peut être voir du coté de regexp ;)
d'ailleurs se serait même plus simple pour tout le reste du code
hésitez pas de visité http://www.tchat-fusion.org/
ou part irc /server -m irc.tchat-fusion.org
#30
Re all,
Tiens je viens de m'apercevoir qu'il y avait un truc qui va pas :/
avec la variable :
{oui 'o u i' non 'n o n' nan 'n a n' oué 'o u é' oue 'o u e' ouais 'o u a i s' ouai 'o u a i' yes 'y e s' ouep 'o u e p'}

quand une personne tape a f par exemple sa le kick voila l'exemple :
[13:11] <Franck> toute a fais
[13:11] * Franck was kicked by Nioui-Ninon (Attention tu viens d'être kické pour avoir dit le mot interdit oui ou Non :bete:)

après avoir fait des testes voila se que sa donne :

[13:35] <snip74> af
[13:35] <snip74> a f
[13:35] * You were kicked by Nioui-Ninon (Attention tu viens d'être kické pour avoir dit le mot interdit oui ou Non :bete:)

Cordialement Stéphane
hésitez pas de visité http://www.tchat-fusion.org/
ou part irc /server -m irc.tchat-fusion.org


Forum Jump:


Users browsing this thread: 1 Guest(s)