16/07/2013, 14:56 (Modification du message : 16/07/2013, 19:23 par Naruto.)
Bonjour à tous .
J'ai un problème que je n'arrive pas à résoudre tout seul ( vu mon niveau )
je vous explique mon problème dans se tcl je peux sajoin que *@StaffAnim.monsite.net sur #Staff et #Team
et je souhaiterais rajouter d'autre hosts pour des salons différent
genre *@Anim.monsite.net sajoin sur #Team
et *@Staff.monsite.net sajoin sur #Staff
comment je peux faire pour rajouter ces deux hosts et les deux salons dans mon code ?
16/07/2013, 22:16 (Modification du message : 17/07/2013, 09:40 par CrazyCat.)
Il faut un peu adapter le script pour avoir une association vhost => canaux
tcl
set vhostsaj {"*@StaffAnim.monsite.net""#canal1,#canal2""*@Anim.monsite.net""#canal2"}
bind join - "*" mesajoin
proc mesajoin {nick host hand arg}{foreach vhost [array names $::vhostsaj]{if{[string match -nocase $vhost$host]]}{
putserv "SAJOIN $nick $::vhostsaj($vhost)"}}}
Bon, il y a sûrement un petit souci sur l'utilisation du tableau dans le putserv, ainsi que dans la possibilité de faire sajoin #canal1,#canal2, mais de toutes manières le sajoin, c'est le mal.
16/07/2013, 22:23 (Modification du message : 16/07/2013, 22:49 par Naruto.)
Bonsoir CrazyCat.
Merci bien pour l'aide je vais testé , pour la question du sajoin je sais bien que sais pas terrible mais vu que l'auto invite ne fonctionne pas je ne peux que opté pour cette solution :/
tcl
while executing
"proc mesajoin {nick host hand arg} {
foreach vhost [array names $::vhostsaj] {
if {[string match -nocase $vhost $host]] {
putserv "S..."
(file "scripts/sajoin.tcl" line 14)
invoked from within
le invoked from within ca veux dire qu'il manque ca { ?
après le reste je ne sais pas.
16/07/2013, 23:09 (Modification du message : 16/07/2013, 23:18 par Naruto.)
Salut aliasangelius le bot se lance bien mais aucunes erreurs en pl et ca ne fonctionne pas .
Ceci dit si il faut en autoinvite je ne suis pas contre mais bon je ne sais pas codé le tcl .
J'ai changé ca:
putserv "SAJOIN $nick $::vhostsaj($vhost)
par ca:
putserv "SAJOIN $nick $::vhostsaj($vhost)"
J'ai corrigé dans le source initial les deux erreurs de syntaxe (le } et le " manquants), mais il serait sympa de ta part de nous montrer ton code fonctionnel.
Je trouve ça très détestable les personnes qui demandent une aide qu'on leur apporte bien gentiment et qui, lorsqu'elles corrigent une erreur dans les codes fournis, ne diffusent pas leur solution.
Et pourquoi:
•Ne pas utiliser simplement le fichier de configuration du serveur, et non passer par un eggdrop ?
•Ou peut une etre piste par flag et non par vhost ...
-flags XX/sajoin salon XX
-flags yy/sajoin salonXX,YY
(17/07/2013, 10:04)cestlemien a écrit : •Ne pas utiliser simplement le fichier de configuration du serveur, et non passer par un eggdrop ?
Tout simplement parce que l'on a pas forcément la main sur le serveur. Ce genre de TCL, en utilisant des invite plutôt que des sajoin, fonctionne partout même si l'eggdrop n'est pas ircop.
(17/07/2013, 10:04)cestlemien a écrit : •Ou peut une etre piste par flag et non par vhost ...
-flags XX/sajoin salon XX
-flags yy/sajoin salonXX,YY
C'est effectivement une solution bien plus propre, mais beaucoup (trop) ici préfèrent gérer par vhost, avec tout ce que ça implique. Bref, ça fait des tcl limités pour les personnes ayant la main sur les vhosts, et c'est mal.
Passé par fichier de configuration du serveur peut être une meilleur idée après je ne sais pas comment modifier celui ci pour qu'il sajoin ,c'est une autre histoire :/
Donc pour résumer ton vhost là ne sert strictement à rien.. Pour plusieurs raison.
1) Tu devrais utiliser le système de host pré défini par eggdrop ce qui permets d'avoir un meilleur système pour ma part.
2) Ensuite fonctionner par flag ET plus simple pourquoi ? Car lorsque tu va attribuer disons je vais dire un exemple ne dessous.
Je suis sur irc avec les flags ABC.
Level A "admin", Level B "Co-Admin", Level C "Opérateur"
Je veut que Admin aille sur salon abc, je veut que Co-Admin aille sur salon bc, Je veut que Opérateur aille sur salon c.
Donc là tu utilise simplement le sytème de flag avec un simple if.. C'est plus simple si l'eggdrop voie que Tel personne à le flag ABC il va les faire joindre sur les 3 salon par exemple.
Si co admin il les fera joindre que sur deux salon.