![]() |
[Résolu] Mettre un utimer sur isidentified - 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: [Résolu] Mettre un utimer sur isidentified (/showthread.php?tid=1897) |
Mettre un utimer sur isidentified - Amand - 25/02/2022 Bonjour à tous, Je suis entrain de faire une proc qui utilise isidentified : tcl Code: bind join - * [namespace current]::joinvoice Vous pensez que je dois créer une autre proc où je stock la condition qui vérifie si il est présent dans la bdd et isidentified et je mets un utimer de 5 qui va déclencher cette proc, ou il y a une meilleure façon de faire plus simple. RE: Mettre un utimer sur isidentified - CrazyCat - 25/02/2022 Tu peux aussi essayer d'utiliser after :tcl
Sinon peut-être qu'en explorant le CAP account-notify (ou un autre, je ne les connais pas tous) tu pourrais faire l'inverse: récupérer les infos lorsqu'une personne s'authentifie et appliquer ton voice si besoin est RE: Mettre un utimer sur isidentified - Amand - 26/02/2022 La fonction after n'a pas l'air de fonctionner chez moi et je n'ai pas d'erreur par contre je ne trouve aucun exemple pour l'utilisation du bind account qui a l'air d'être une fonction intéressante. RE: Mettre un utimer sur isidentified - CrazyCat - 26/02/2022 Probable bug sur ce bind: https://github.com/eggheads/eggdrop/issues/1265 EDITION : il y a une erreur dans la documentation, il manque l'argument chan à la définition de la procédure: procname <nick> <user> <hand> <chan> <account> Par contre, avec mes tests, le bind ne se déclenche que sur le logout, pas sur l'identification. NOTA : il faut avoir le CAP account-notify : cap req account-notify
RE: Mettre un utimer sur isidentified - Amand - 27/02/2022 tcl Le bind account a l'air de fonctionner , par contre quand on fait appel à la procédure accountuser dans le bind join il manque le $account en paramètre. On peut déclencher ce bind account seulement lors du bind join ? Edit: Je pense avoir une mauvaise réflexion dans l'algorithme. Je veux qu'au join de l'utilisateur , le bot verifie si il a un compte ( donc identifié ) si le nick est présent dans la base de donnée et identifié , il effectue une action. Si je passe par le bind join pour appeler le bind account , je devrais faire la condition dans le bind account et ce n'est pas ce que je veux parce qu'il entrera dans la condition sur chaque account. RE: Mettre un utimer sur isidentified - cestlemien - 27/02/2022 salut, pourquoi ne pas modifier les levels salon par defaut, si $nick = 1 alors chanserv le voice si $nick = 0, il n'est pas voicé ça evite il me semble d'ajouter une fonction qui existe deja. ( peut-etre meme voir si on est admin du reseau a modifier directement le fichier, ce qui permettrait que celà fonctionne pour tous les salons, mais il faut aussi penser que certains ne voudront peut etre pas que le voice soit automatique. De plus, le "+" permet d'outrepasser le certains modes comme le +m ( salon moderé) ce qui peux etre genant si on dois l'utiliser.sachant que si l'on devoice l'user, place le +m, il comprendra vite qu'il suffira de ce/cycle pour reparler/spam/mettre le bazard . ce n'est qu'une idée, en rien une critique quand à utiliser un bot pour voicer. RE: Mettre un utimer sur isidentified - CrazyCat - 28/02/2022 (27/02/2022, 00:42)Amand Wrote: J'ai un peu du mal à comprendre, je vais essayer de reposer le problème: Lorsqu'un utilisateur entre dans un canal, s'il est identifié auprès des services et présent dans une base de données, tu fais une action particulière (comme donner un voice). S'il n'est pas identifié, rien ne se passe jusqu'à ce qu'il s'identifie (à condition qu'il soit dans ta base). Vu comme ça, je pense qu'il te faut 2 binds: - sur le join, tu utilises juste isidentified (ta procédure initiale)- sur le account , deux cas:-> il vient de s'authentifier, tu vérifies que l'utilisateur n'a pas déjà les droits que tu veux lui mettre -> il vient de faire un logout, tu retires les droits Je ne pense pas qu'il y ait de problème particulier avec ce fonctionnement et il n'y a du coup aucun intérêt à mettre un timer quelconque RE: Mettre un utimer sur isidentified - Amand - 28/02/2022 Quote:Lorsqu'un utilisateur entre dans un canal, s'il est identifié auprès des services et présent dans une base de données, tu fais une action particulière (comme donner un voice). C'est exactement ça. Dans mon bind join je fais : tcl
Par contre dans le bind account pour traiter les deux cas: Quote:- sur le account, deux cas: Je suis un peu perdu, je peux mettre une condition avec la fonction isvoice pour vérifier si le pseudo est voice, mais pour savoir si il est dans la base de donnée, je refais la même condition que dans le join ? Je pense pas que ce soit utile d'utiliser le logout , je veux effectuer un voice quand l'user join un salon ou quand il s'identifie , quand il se déconnecte ça doit automatiquement le logout. RE: Mettre un utimer sur isidentified - CrazyCat - 28/02/2022 Tu peux faire une chose très simple avec le bind account: tcl RE: Mettre un utimer sur isidentified - Amand - 28/02/2022 Merci CrazyCat. Une base de l'utilisation du bind account à qui peut servir: tcl
|