Probleme sur une !commande
#1
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.
Répondre
#2
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 :/
Répondre Avertir
#3
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";


Répondre Avertir
#4
Problème résolu aparament il manquer juste le ":" avant $topic
Répondre


Atteindre :


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