Code d'avertissement d'arrive
#1
Bonjour,

j'ai codé ce petit bout de code pour avertir les membres de mon staff de l'arriver d'une personne sur un salon
tcl
set chans "#XXX"
set chanradio "#XXX"
 
bind raw - "JOIN" cs:joins
proc cs:joins {f k t} {
set nick [lindex [split $f !] 0]
set salon [string trim [lindex $t 0] :]
	if {[string match "#Radio" $salon] == 1 || $salon == "#Radio"} {
		putspeed "NOTICE $nick 12Bonjour à Toi4 $nick 10Bienvenue Sur7 $salon 12Tu Veux Un Coup De Pouce, Pour Plusieurs Commandes Je Suis 4Un Bot D'aide, 12Dans Un Premier Temp Tape ---> 4!voir"
		putspeed "PRIVMSG $::chans :12 $nick 10est sur #Aide 4BIIIIIIIIIIIIIIIIIIIIIIP Merci d'aller aider si possible !!!!"
		putspeed "PRIVMSG $::chans :14BIIIIIIIIIIIIIIIIIIIIIIP visite sur #minut-radio !!!!"
	} else {
		if {[string match "#minut-radio" $salon] == 1 || $salon == "#minut-radio"} {
			putspeed "PRIVSMG $chans :Bienvenue a toi $nick sur le salon d'accueil"
		}
	}
}



Mais hélas je tombe sur cette erreur
Citation :Tcl error [cs:joins]: can't read "chans": no such variable
Alors j'ai essaye de faire des modifications comme enleve le $::chans comme enleve le s de join mais rien y fait...


Merci à vous.
Répondre Avertir
#2
Bon, déjà je pense qu'il faut que tu arrêtes tes putspeed. Ensuite, pourquoi du bind raw ? Et dernier point : utilise de vrais codes couleur.

tcl
set chans "#XXX"
set radiochan "#minut-radio"
set helpchan "#aide"
 
bind join - "*" cs:joins
proc cs:joins {nick uhost handle chan} {
   if {[string compare -nocase $chan $::helpchan]} {
      puthelp "NOTICE $nick :Bonjour à toi $nick - Bienvenue Sur $chan Tu Veux Un Coup De Pouce, Pour Plusieurs Commandes Je Suis Un Bot D'aide, Dans Un Premier Temp Tape ---> !voir"
      puthelp "PRIVMSG $::chans :$nick est sur $chan BIIIIIIIIIIIIIIIIIIIIIIP Merci d'aller aider si possible !!!!"
      return 0
   if {[string compare -nocase $chan $::radiochan]} {
      puthelp "PRIVSMG $chan :Bienvenue a toi $nick sur le salon d'accueil"
      return 0
   }
}



Sinon, ton erreur était dans:
tcl
putspeed "PRIVSMG $chans :Bienvenue a toi $nick sur le salon d'accueil"


Il manque :: ($::chans)
Répondre
#3
Salut,

Même erreur que dans les autres post, dont un je t'ai dit..
Tu déclare "chans" ou ?
La variables chans tu te doit la "set".

tu "set salon", mais pas "chans", donc tu va avoir un soucis.
De plus tu incorpore des couleurs mirc, pour le TCL il faut utilisé des codes couleurs propres au TCL.
Je pense va falloir, faire un tour du côté wiki et autres.. Pour arrive à comprendre, voici donc quelques liens utiles :

Premier lien les codes couleurs TCL : http://wiki.eggdrop.fr/Couleurs_et_mise_en_forme
Second lien les binds, Pour permettre de bien comprendre certaines bases : http://wiki.eggdrop.fr/Binds
Ensuite comprendre le(s) set, ce qui correspond au variables : http://wiki.eggdrop.fr/Set

Voila tu devrais mieux comprendre, Ensuite je vais être grossier, mais tu commence à être gavant avec ton putspeed de merde..
putspeed reprend juste le putquick avec un retour de chariot, donc sa n'a absolument aucune utilité.
La seul chose ou que sa peut servir c'est à bourrer la liste d'attente du server, et au bout d'un moment l'eggdrop va partir en exees de flood, donc sa sert à rien.
Regarde aussi cela sa pourra aussi t'aider : http://wiki.eggdrop.fr/Commandes_de_sortie
Vous interdisez les erreurs, vous empêchez ainsi la victoire.

Ma super kikoo-page loll
Répondre Avertir
#4
J'ai une erreur encore
Citation :"proc cs:joins {nick uhost handle chan} {
if { [string compare -nocase $chan $::helpchan] } {
puthelp "NOTICE $nick :Bonjour à toi $nick - Bi..."
(file "scripts/arrive.tcl" line 5)
invoked from within

Merci pour les tutos
Répondre Avertir
#5
Salut,

Merci d'utilisé les balises tcl. => [ tcl ] le code [ /tcl ] Sans les espace.

Et ton soucis regarde :

KeeViiNou a écrit :"proc cs:joins {nick uhost handle chan} {

Retire le : " avant proc
Vous interdisez les erreurs, vous empêchez ainsi la victoire.

Ma super kikoo-page loll
Répondre Avertir
#6
Pardon pour l'espace. Et y a pas de " avant proc ...
Répondre Avertir
#7
Code :
.tcl set errorInfo
Répondre
#8
J'ai pas accès au ssh vu qu'il est même pas lance le script
Répondre Avertir
#9
...
Répondre
#10
cette erreur
Citation :"proc cs:joins {nick uhost handle chan} {
if { [string compare -nocase $chan $::helpchan] } {
puthelp "NOTICE $nick :Bonjour à toi $nick - Bi..."
(file "scripts/arrive.tcl" line 5)
invoked from within
est sous ssh et je vois pas c'est quoi... :s
Répondre Avertir
#11
Reprenons la base...
- Lance ton eggdrop sans l'appel à ton script dans le .conf
- connecte toi en party-line
- fais .tcl source scripts/tonscript.tcl
- quand tu as l'erreur, fais .tcl set errorInfo
Répondre


Atteindre :


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