Système de plainte
#1
Money_euro 
Bonjour à toutes et à tous.

J'ai codé récemment un système de plainte, et je souhaitais vous le faire partager.

Si vous y voyez des erreurs, ou des améliorations à apporter.

TCL
########################
#Système de plainte par BlackNight#
########################
 
set chanplainte "#plaintes"
 
bind MSGM - "*plainte*" plainte
proc plainte { nick host ident arg } {
global chanplainte
putserv "NOTICE $chanplainte :6Une plainte a été déposée par $nick"
putserv "PRIVMSG $chanplainte :$nick dépose une plainte contre [lindex $arg 1]"
putserv "PRIVMSG $chanplainte :motif: [lrange $arg 2 end]"
putserv "PRIVMSG $chanplainte :Tapez !prend $nick pour prendre en charge la plainte"
putserv "NOTICE $nick :Votre plainte à bien été envoyée au staff. Elle sera traitée dans les plus brefs délais."
}
 
bind pub - !prend prend
proc prend { nick uhost handle channel arg } {
global chanplainte
   if ![string compare -nocase $channel "$chanplainte"] {
    set comp [lindex $arg 2]
     if ![string compare -nocase $comp ""] {
putserv "NOTICE [lindex $arg 0] :Votre plainte a été prise en charge par $nick." 
unset comp
	} else {
	putserv "NOTICE [lindex $arg 0] :Votre plainte a été prise en charge par $nick. informations complémentaires: [lrange $arg 1 end]"
 
 }
}
}
 
putlog " plaintes.tcl v1.1 by BlackNight"


Répondre Avertir
#2
Euh y'a des carractères de couleurs la dans ton code
Et si je me souviens bien faut pas en mettre paske ça casse les flux RSS et tout du forum
Tu devrais plutôt mettre le machin de substitution, a savoir \003 pour le code couleur, \002 pour le gras, etc.... tout est substitué par TCL (la valeur est en octal).
Sinon je dirais que ça à l'air plutôt bien, mais ca vaudrait surement mieux de faire une vraie commande plutôt que *plainte* je pense.
Aussi, if ![string compare -nocase $comp ""] { -- Tu peux faire if {$comp ne ""}
Répondre Avertir
#3
ça fait pas bizarre de taper !prend nick pour recevoir une plainte ? c'est un script pour adultes ? :]
Répondre Avertir
#4
Pour la dernière fois: Utilisez les bons codes pour la mise en forme de vos tcl (couleurs, gras, soulignés, ...)

Que ce soit pour le forum ou pour la portabilité, suivez les rêgles !
Répondre
#5
@CrazyCat: désole pour les couleurs, j'en prend note pour ne plus refaire la même erreur.
En passant, merci pour le coup de main (IRC) pour le cinema.tcl (ca date d'il y a deux mois maintenant, mais bon.)

@Artix: J'ai été obligé de mettre *plainte* , car sur le serveur ou je me sert de ce code, j'utilise un alias Unreal. et sans les * *, cela ne fonctionne pas en passant par l'alias. Ci dessous le code de l'alias (je vais utiliser la balise code, ne sachant pas laquelle prendre pour du codage unreal).

Code :
alias "plainte" {
    format "^[^#]" {
        nick "MonBot";
        type normal;
        parameters "plainte %0-";
    };
    type command;
};

Artix a écrit :Aussi,
TCL
if ![string compare -nocase $comp ""] { --


Tu peux faire
TCL
if {$comp ne ""}

Je vais essayer ça dès que possible.
est-ce que de cette façon c'est correct ?:
TCL
bind pub - !prend prend
proc prend { nick uhost handle channel arg } {
global chanplainte
   if [$channel ne "$chanplainte"] {
    set comp [lindex $arg 2]
     if [$comp ne ""] {
putserv "NOTICE [lindex $arg 0] :Votre plainte a été prise en charge par $nick."
unset comp
   } else {
   putserv "NOTICE [lindex $arg 0] :Votre plainte a été prise en charge par $nick. informations complémentaires: [lrange $arg 1 end]"
 
}
}
}



@MenzAgitat: non pas pour adulte :p j'entendais cela dans le sens de prendre en charge (-:
Répondre Avertir
#6
Cela serais pas mieu un :
TCL
if {$channel != "$chanplainte"} { putserv "notice $nick Hop hop hop tu n'est pas sur le bon salon pour sa"; return }



?
Répondre
#7
@heretoc: Bah non, j'ai pas envie qu'il y ait un message d'erreur si ça n'est pas sur le bon salon.

Si des boulets trouvent ce genre de chose il peuvent s'amuser avec et faire lagger le bot. donc plutôt que de coder en plus un anti flood, autant pas le mettre directement.

d'autres suggestions ?
Répondre Avertir
#8
ouai enfin tu peut faire en sorte qu'après 2 essais le bot shun la personne (a)
Répondre
#9
bah c'est ce que je dis, ca reviens a faire du codage supplémentaire alors que sans, c'est aussi bien.
Répondre Avertir
#10
Dans tous les cas pour faire un test c'est entre {} que tu mets, si tu mets entre [] pour lui c'est une commande.
Donc [$channel ...] revient à appeller la commande "#tonsalon" avec comme paramètre "ne #lechanplanite".
Répondre Avertir


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté