Communauté sur les Eggdrops - Community about Eggdrops
Un welcome Gardé en mémoire - Printable Version

+- Communauté sur les Eggdrops - Community about Eggdrops (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)
+--- Thread: Un welcome Gardé en mémoire (/showthread.php?tid=191)



Un welcome Gardé en mémoire - loulou7593 - 10/04/2008

Bonjour voila j'ai un soucis car je veux configurer un Welcome pour que quand chaque users rentre sur le salon ca lui envoi un Welcome que moi ou quelqu'un qui a acces au bot puisse configurer ce Welcome avec la commande !welcome.

J'ai bien quelque chose qui fonctionne, mais pour que cela fonctionne il me faut mettre deux code TCL different car l'un sans l'autre ca ne fonctionne pas.

Et le principal probleme c'est que je voudrais que ce Welcome soit gardé en Memoire car là à chaque .rehash et bien le Welcome disparait.
Voici les deux TCL


tcl
set onjoin_msg {
 {
  "Welcome to Channel \$chan \$nick"
 }
}
set onjoin_chans "#BG® #eg-lovech"
 
bind join - * join_onjoin
 
putlog "Onjoin.tcl 0.1 by Banned loaded"
 
proc join_onjoin {nick uhost hand chan} { 
global onjoin_msg onjoin_chans botnick 
if {([lsearch -exact [string tolower $onjoin_chans] [string tolower $chan]] != -1) && (![matchattr $hand b]) && ($nick != $botnick)} { 
puthelp "NOTICE $nick :[subst $onjoin_msg]" 
} 
}

Le deuxieme

tcl
bind pub - !welcome pub:welcome 
proc pub:welcome {nick uhost hand channel text} { 
global onjoin_msg 
      if {[validuser $hand] && ($text != "")} { 
         set onjoin_msg "$text" 
        putserv "NOTICE $nick :Nouveau message d'acceuil -> $text" 
      } else { 
        putserv "NOTICE $nick :Erreur..." 
   } 
}


Voila donc je Récap , je veux qu'en tapant !welcome moi ou les gens qui ont acces sur le bot puisse configuré un Welcome et qu'il soit gardé en mémoire.

Merci d'avance


RE: Un welcome Gardé en mémoire - CrazyCat - 11/04/2008

Bon, le soucis est essentiellement qu'un rehash vide les variables, tu dois donc stocker le message dans un fichier ou dans une variable qui sera sauvegardée automatiquement.

Cette deuxième solution pourrait être intéressante, en utilisant setudef qui permet d'enregistrer une donnée dans les paramètres de canal.

Voila ce que je te propose:

tcl
setudef str welcomemsg
 
bind pub -|o "!welcome" welcome:set
proc welcome:set {nick uhost handle chan text} {
   channel set $chan welcomemsg [join [split $text]]
   putserv "PRIVMSG $nick :Nouveau message d'accueil pour $chan: $text"
}
 
bind join - "*" welcome:join
proc welcome:join {nick uhost handle chan} {
   if {[channel get $chan welcomemsg]!=""} {
      puthelp "NOTICE $nick :[channel get $chan welcomemsg]"
   }
}

Bon, c'est pas testé mais ça doit fonctionner à peu près.
Et l'avantage est que tu enregistres dans les paramètres de chaque canal son message d'accueil.


RE: Un welcome Gardé en mémoire - loulou7593 - 15/04/2008

Merci pour le code, mais je voulais savoir, comment faire car la j'ai donc enlevé les deuc que j'avais avant, j'ai mis le tient, mais quand je tape !welcome MESSAGE bin rien ne se passe .

Y a t'il quelque chose qu'il faut je fasse d'autre ?

Merci de me renseigner


RE: Un welcome Gardé en mémoire - CrazyCat - 27/04/2008

Comme dit sur IRC (ou sur ircz.fr?), il faut que tu sois déclaré opérateur sur le canal (dans l'eggdrop)


RE: Un welcome Gardé en mémoire - loulou7593 - 27/04/2008

donc cela veux dire que moi je ne peux pas le faire car je suis Admin du bot ???


RE: Un welcome Gardé en mémoire - NuNuX - 28/04/2008

Autrement, tu change -|o par A|A et ensuite en party line tu tape: .chattr tonpseudo +A et la tu poura t'en servire.


RE: Un welcome Gardé en mémoire - loulou7593 - 28/04/2008

Ok donc à tous ceux que je ferais un acces sur mon bot je leur mets le Flag +a pour qu'il puissent s'en servir aussi ?

Merci de la reponse


RE: Un welcome Gardé en mémoire - CrazyCat - 28/04/2008

loulou7593 Wrote:donc cela veux dire que moi je ne peux pas le faire car je suis Admin du bot ???
Non, ça veut dire que tu ne peux pas parce que tu ne t'es pas déclaré opérateur du canal (chattr loulou +o #canal)

NuNuX Wrote:Autrement, tu change -|o par A|A et ensuite en party line tu tape: .chattr tonpseudo +A et la tu poura t'en servire.
Ou juste -|A
loulou7593 Wrote:Ok donc à tous ceux que je ferais un acces sur mon bot je leur mets le Flag +a pour qu'il puissent s'en servir aussi ?
Tout d'abord, c'est +A, pas +a
Mais là ça n'agit que sur un canal donné.
Il faudrait peut-être que tu te renseignes plus sur les flags des utilisateurs (http://www.eggdrop.fr/Flags)


RE: Un welcome Gardé en mémoire - loulou7593 - 28/04/2008

Ok je vais jeter un petit coup d'oeil sur les Flags.

Merci de vos réponses


RE: Un welcome Gardé en mémoire - loulou7593 - 06/05/2008

Bonjour
j'ai bien regarder le site avec les Flags, il y a bien des +a mais aucun +A

+a correspondrais à auto-op

alors que là on me demande de mettre +A ??


RE: Un welcome Gardé en mémoire - CrazyCat - 06/05/2008

Oui, c'est le principe: tu assignes un flag qui n'est pas utilisé et tu t'en sers comme tu veux.
Les flags qui sont dans la liste sont réservés, c'est donc ceux que tu ne peux pas utiliser à ton bon vouloir.