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 de compression du code si possible
#1
* Reseau: Orange
* Type de pseudo: nick ou nick|ext
* Fonction: privmsg via socket TCL

Demande: Est-il possible de simplifier le string match de ce code je m'explique:

si DANS $nick il y a "|" alors je split $nick | pour recuperé la valeur avant "|" pour crée nick2 afin de vérifié AUTRE je vérifie $nick.

Mon code me parait excessivement GROS pour une simple vérification ! Si quelqu'un à une idée, je suis preneur ! Je vous remercie d'avance


tcl
"PRIVMSG" {
			set user [string trim [lindex $arg 0] :]
			set nick [lindex [split $user !] 0]
			set chan [string tolower [lindex $arg 2]]
			set cmd [string trim [string tolower [lindex $arg 3]] :]
			switch -exact $cmd {
				"csauth" {
					if [string match *|* $nick] {
						set nick2 [lindex [split $nick |] 0]
						if [iscsa $nick2] {
							send ":$webs(socket:nick) PRIVMSG $webs(chan:log) :*** CSAUTH $nick"
							send ":$webs(socket:nick) NOTICE $nick :MOTD $webs(chan:log) Bienvenue chez les CsAdmins de $webs(socket:nick)"
							send ":$webs(socket:nick) INVITE $nick $webs(chan:log)"
						}
					} else { 
						if [iscsa $nick] {
							send ":$webs(socket:nick) PRIVMSG $webs(chan:log) :*** CSAUTH $nick"
							send ":$webs(socket:nick) NOTICE $nick :MOTD $webs(chan:log) Bienvenue chez les CsAdmins de $webs(socket:nick)"
							send ":$webs(socket:nick) INVITE $nick $webs(chan:log)"
						}
					}
				}

[Image: http://www.web-modules.net/upload/cache/...156/61.gif]
[ www.Ahinu.tk ]

Programmation TCL interprété via Eggdrop + package mysqltcl
=> TCL+SQL~PHP

@Nordnet.
#2
Et ça se dit CoderZ...

tcl
set nick [lindex [split $nick |] 0]

S'il y a un |, $nick contient la partie qui le précède. S'il n'y en a pas, $nick contient l'intégralité de la chaine.
Et donc, pas besoin de faire un string match.


Code:
.tcl set toto [lindex [split "abc" |] 0]; putlog $toto
> abc

.tcl set toto [lindex [split "abc|test" |] 0]; putlog $toto
> abc
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#3
en gros, je ferai un:

set user [string trim [lindex $arg 0] :]
set nick [lindex [split $user !] 0]
set nick2 [lindex [split nick |] 0]

Et je fais:
"csauth", verif nick2, si ok => $nick est csauth

si j'ai bien tout saisi

(merci du temps que tu passes sur la Board)
[Image: http://www.web-modules.net/upload/cache/...156/61.gif]
[ www.Ahinu.tk ]

Programmation TCL interprété via Eggdrop + package mysqltcl
=> TCL+SQL~PHP

@Nordnet.
#4
Heu, je ne te comprends pas bien là.
Ton code devrait être:

tcl
"PRIVMSG" {
   set user [string trim [lindex $arg 0] :]
   set nick [lindex [split $user !] 0]
   set nick [lindex [split $nick |] 0]
   set chan [string tolower [lindex $arg 2]]
   set cmd [string trim [string tolower [lindex $arg 3]] :]
   switch -exact $cmd {
      "csauth" {
         if [iscsa $nick] {
            send ":$webs(socket:nick) PRIVMSG $webs(chan:log) :*** CSAUTH $nick"
            send ":$webs(socket:nick) NOTICE $nick :MOTD $webs(chan:log) Bienvenue chez les CsAdmins de $webs(socket:nick)"
            send ":$webs(socket:nick) INVITE $nick $webs(chan:log)"
         }
      }
   }
}

Sauf si tu veux pouvoir utiliser le nick actuellement utilisé sur IRC ET le nick sous lequel est reconnu l'utilisateur.
irc.zeolia.net - Offrez-moi un café
Merci de ne pas demander d'aide en MP
Away
#5
(07/12/2012, 13:49)CrazyCat Wrote: Sauf si tu veux pouvoir utiliser le nick actuellement utilisé sur IRC ET le nick sous lequel est reconnu l'utilisateur.

c'est exactement sa ! donc mes déclarations sont correctes il me semble !
Merci ChatFou ! :)
[Image: http://www.web-modules.net/upload/cache/...156/61.gif]
[ www.Ahinu.tk ]

Programmation TCL interprété via Eggdrop + package mysqltcl
=> TCL+SQL~PHP

@Nordnet.


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Demande] Script 'piège' (Kick à la demande avec compteur de victime) Utas 6 7,061 21/12/2011, 11:24
Last Post: loulou7593

Forum Jump:


Users browsing this thread: 1 Guest(s)