Communauté Eggdrop
Probleme sur une !commande - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts TCL (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : Probleme sur une !commande (/showthread.php?tid=436)



Probleme sur une !commande - heretoc - 20/06/2009

Bonjour,
Voila j'ai un probleme sur une commande qui permet de changer le topic, jusque la tout est bon mais malheuresement quand je veut changer le topic cela coince ...
En effet il prend pas le topic que je lui demande en entier et oublie les deux premiers mots ....

Aparament cela coince au niveau de la variable topic :
set topic [lrange $arg 2 end]

J'ai essayer essayer cela "set topic [lrange [split $arg] 4 end]" mais cela sans succé...

Voici le code tcl:
tcl
if {[string equal -nocase $cmd "!chgtopic"]} {
	set cible [lindex $arg 1]    
	set topic [lrange $arg 2 end]
	if {[verify:host $user] < "8"} {putdcc $::clams(idx) ":$::clams(pseudo) NOTICE $user : Erreur : Accès insuffisant !"; return 0}
	if {$cible eq ""} {putdcc $::clams(idx) ":$::clams(pseudo) NOTICE $user :SyntaXe : !chgtopic <#salon> <topic>"; return 0}
	if {$topic eq ""} {set topic "Salon officiel de $::clams(site)"}
	putdcc $::clams(idx) ":$::clams(pseudo) TOPIC $cible $topic";
	putdcc $::clams(idx) ":$::clams(pseudo) NOTICE $user :Topic de $cible modifier.";
	}



Divers :
set cible [lindex $arg 1] est le salon que l'ont veut changer sont topic.
$::clams(site) est une variable predefini dans un fichier de configuration qui permet d'affiche le site du tchat.


Merci à la personne qui poura m'aider.


RE: Probleme sur une !commande - Artix - 21/06/2009

Il faut savoir ce qu'il y a dans arg, puisque c'est la qu'est fait le "tri"
Si la variable $arg ne contiens que les arguments sans la commande, il ne faut pas oublier que le premier argument commence avec l'index 0 et pas 1
Et euh sinon, je vois pas grand chose :/


RE: Probleme sur une !commande - Mareo - 22/06/2009

tcl
putdcc $::clams(idx) ":$::clams(pseudo) TOPIC $cible $topic";



Ça devrait plutôt être :
tcl
set timestamp [clock seconds]
putdcc $::clams(idx) ":$::clams(pseudo) TOPIC $cible $timestamp :$topic";





RE: Probleme sur une !commande - heretoc - 22/06/2009

Problème résolu aparament il manquer juste le ":" avant $topic