Mise en forme de code: pensez à utiliser les balises [ tcl ] et [ /tcl ] (sans les espaces bien sûr) autour de vos codes tcl afin d'avoir un meilleur rendu et une coloration syntaxique. x


Nick Change Responder (version actuelle : 2.31)
#1
 
Description :

Le bot réagit aux changements de nick lorsqu'ils contiennent une information sur l'activité de la personne.

Grâce à ce script, votre eggdrop vous souhaitera une bonne nuit lorsque vous irez vous coucher, vous encouragera quand vous irez travailler, vous souhaitera bon appétit quand vous irez manger, etc...

De plus, il se souviendra de vous afin de vous gratifier d'une réponse appropriée à votre retour.
Notez cependant que si vous quittez le chan ou le serveur, le bot vous oubliera. Sachez aussi que cette mémoire est volatile et que si vous redémarrez ou rehashez votre eggdrop, il aura tout oublié.

Les différents types d'action actuellement pris en considération sont :
DODO MIAM BOULOT AFK OQP JEU FILM
TELEPHONE TV DOUCHE CINEMA SHOPPING WC
CUISINE VAISSELLE SPORT MENAGE PROGRAMMATION
FUME LECTURE MUSIQUE TRISTE MALADE


Nick Change Responder sait détecter quantité des séparateurs habituellement utilisés dans les pseudos, ainsi que beaucoup de façons d'exprimer chaque type d'action.
Par exemple : nick[dodo], nick|Zzzz, nick`sieste`, nick\dort et nick][sl3ep][ seront détectés pareillement.

La commande !NCR_stats permet au propriétaire de l'eggdrop de compter et d'afficher le nombre de réponses dans la base de données, ainsi que le nombre de changements de nick en cours de surveillance.

Pour activer Nick Change Responder sur un chan, vous devez taper ceci en partyline :
.chanset #NomDuChan +NCR
et ceci pour le désactiver :
.chanset #NomDuChan -NCR


Exemple :

Citation :[23:14:21] [ MenzAgitat ] change son nick en [ MenzAgitat[ZZzzZz] ]
[23:14:23] <Boole> Bonne nuit MenzAgitat.
(...)
[09:40:54] [ MenzAgitat[ZZzzZz] ] change son nick en [ MenzAgitat ]
[09:40:56] <Boole> bien dormi MenzAgitat ?


Changelog :

Citation :1.0
  • 1ère version
1.01
  • Correction : l'action "pasla" n'était pas détectée.
  • L'option interface_megahal était à 1 par défaut, elle doit être réglée à 0 pour que le script fonctionne dans la plupart des cas.
1.02
  • Correction d'un CTCP ACTION dans les réponses (merci à Ark de l'avoir signalé).
1.03
  • Ajout de quelques nouvelles actions.
  • Correction d'un problème de dépendance à l'Interface MegaHAL (merci à Helias de l'avoir signalé).
1.04
  • Ajout de quelques nouvelles actions.
  • Restructuration du script pour plus de rapidité / évolutivité (merci à Artix).
1.05
  • Modification de l'interactivité avec l'Interface MegaHAL.
  • Ajout de quelques nouvelles actions.
  • Ajout de quelques nouvelles réponses.
1.06
  • Restructuration d'une bonne partie du script afin d'offrir plus de convivialité et de modularité pour ajouter/modifier des types d'actions ou des actions (merci à Artix pour les suggestions).
  • Optimisation des regexp.
  • Ajout de nouvelles actions.
  • Ajout de deux nouveaux types d'action (fume / lecture).
  • Ajout de nouvelles réponses.
1.07
  • Correction du namespace de MegaHAL (n'a d'intérêt pour vous que si vous utilisez Interface MegaHAL, script du même auteur).
  • L'activation/désactivation du script sur chaque chan se fait maintenant au moyen de la commande .chanset #NomDuChan [+/-]NCR (à taper en partyline).
  • Affinage de la détection, nouveaux séparateurs ajoutés.
  • Ajout de nouvelles actions.
  • Ajout de nouvelles réponses.
  • Ajout d'un nouveau type d'action (musique).
2.0
  • Ajout d'une mémoire des utilisateurs qui ont changé de nick et pour lesquels une action a été reconnue, afin de réagir en conséquence lorsqu'ils changeront à nouveau de nick.
    Chaque catégorie de réponse se voit par conséquent couplée à une catégorie retour qui contient les réponses de retour.
  • Ajout d'un bon nombre de nouvelles réponses (pour un total de 352 !).
  • Amélioration des chaînes de détection, ajout de nouvelles actions.
  • Ajout de la commande !NCR_stats qui permet de compter et d'afficher le nombre de réponses dans la base de données, ainsi que le nombre de de changements de nick en cours de surveillance (owner seulement).
  • Ajout de la variable %chan utilisable dans les réponses.
  • Passage sous licence Creative Commons.
2.1
  • Correction d'un bug qui provoquait une erreur lorsque l'eggdrop partait d'un chan (merci à alias_angelius).
  • Ajout d'un nouveau type d'action (triste).
  • Ajout de nouvelles actions.
  • Ajout de nouvelles réponses (pour un total de 580).
2.2
  • Si l'option megahal_interface est activée, le script détecte maintenant proprement si l'Interface MegaHAL est bien chargée et s'il s'agit bien de la version attendue.
  • Correction d'une erreur qui se produisait lorsque l'eggdrop partait d'un chan.
  • Correction du fonctionnement de la mémoire des changements de nick : des problèmes pouvaient survenir dans le cadre de l'utilisation du script sur plusieurs chans et si un user présent à la fois sur 2 de ces chans changeait de nick.
  • Ajout de l'option ignore_time permettant de définir un délai en secondes pendant lequel le script ignorera les futurs changements de nick d'une même personne.
  • Ajout de nouvelles actions.
  • Ajout de nouvelles réponses. (pour un total de 599).
  • Ajout d'un nouveau type d'action (malade).
2.21
  • Correction : si le script est activé sur un chan où il n'y a pas suffisamment d'utilisateurs, changer de nick ne provoque désormais plus d'erreur à la substitution de %randnick
2.3
  • Modification : désormais, si %nick_root est vide, il sera remplacé par le nouveau nick en entier.
  • Ajout de nouvelles actions.
  • Ajout de nouvelles réponses, pour un total de 605.
2.31
  • Correction : l'utilisation de guillemets dans les réponses provoquait une erreur. Vous pouvez maintenant utiliser les caractères que vous voulez dans les réponses sans avoir besoin de les neutraliser, à l'exception de { et } que vous devrez respectivement remplacer par \{ et \}.


Téléchargement :

Nick Change Responder v2.31

Laissez vos commentaires / suggestions / rapports de bugs.
 
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
  Répondre
#2
Pas mal le script, par contre sa serais sympas que tu rajoute un nick_away (Beaucoup de script dont BSMAX ou encore TS4 change le pseudonyme de la personne en Nick[Away] lors de l'absence automatique.
Et un Brb (une autre forme de l'afk enfaite ^^)
  Répondre
#3
Comme je le disais,
MenzAgitat a écrit :Il sait détecter quantité des séparateurs habituellement utilisés dans les pseudos, ainsi que beaucoup de façons d'exprimer chaque type d'action.
Par exemple : nick[dodo], nick|Zzzz, nick`sieste`, nick\dort, nick][sleep][ seront détectés pareillement.
Ce que tu me demandes est déjà prévu par le script, prends donc la peine de l'essayer.
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
  Répondre
#4
Mise à jour : v1.01

Changelog :
  • correction : l'action "pasla" n'était pas détectée
  • l'option interface_megahal était à 1 par défaut, elle doit être réglée à 0 pour que le script fonctionne dans la plupart des cas.

(Lien de téléchargement dans le 1er message du thread)
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
  Répondre
#5
J'ai essayer mais pas 36nick juste le douche ^^
Merci pour le tcl :)
  Répondre
#6
dans WC remplacer :

{\001trouve que %oldnick n'a pas autant la classe que James Bond mais presque\001}

par :

{\001ACTION trouve que %oldnick n'a pas autant la classe que James Bond mais presque\001}

sinon ça envoie un CTCP trouve
  Répondre
#7
Bonjour,

Avec ce nouveau script, je trouve régulièrement dans la Party-Line, ceci :

Citation :[00:07] Tcl error [NCR::nick_change]: invalid command name "megahal::filter"
  Répondre
#8
Helias a écrit :Avec ce nouveau script, je trouve régulièrement dans la Party-Line, ceci :
Citation :[00:07] Tcl error [NCR::nick_change]: invalid command name "megahal::filter"
Je pense que la réponse a déjà été donnée:
MenzAgitat a écrit :l'option interface_megahal était à 1 par défaut, elle doit être réglée à 0 pour que le script fonctionne dans la plupart des cas.
  Répondre
#9
Mise à jour : v1.02

Changelog :
  • correction d'un CTCP ACTION dans les réponses (merci à Ark de l'avoir signalé)

(Lien de téléchargement dans le 1er message du thread)
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
  Répondre
#10
Bonsoir,

Le même message apparaît toujours en Party-Line avec la variable " 1 " ou " 0 " (avec la dernière version de MenzAgitat) :

Citation :[19:56:33] <Bosley--> [19:56] Nick change: Helias|OQP -> Helias
[19:56:50] <Bosley--> [19:56] Tcl error [NCR::nick_change]: invalid command name "::megahal::filter"
[19:56:50] <Bosley--> [19:56] Tcl error [NCR::nick_change]: invalid command name "::megahal::filter"
[19:56:50] <Bosley--> [19:56] Nick change: Helias-> Helias|OQP
[19:56:50] <Bosley--> [19:56] Tcl error [NCR::nick_change]: invalid command name "::megahal::filter"
[19:56:50] <Bosley--> [19:56] Tcl error [NCR::nick_change]: invalid command name "::megahal::filter"
  Répondre
#11
Oups vraiment désolé, encore un oubli...

remplace la ligne
tcl
regsub -all "%randnick" $reply [lindex [set nicklist [lreplace [set chanlist_temp [chanlist $chan -b]] [set list_index [lsearch $chanlist_temp [::megahal::filter $newnick]]] $list_index]] [rand [llength $nicklist]]] reply


par celle-ci :
Code :
regsub -all "%randnick" $reply [lindex [set nicklist [lreplace [set chanlist_temp [chanlist $chan -b]] [set list_index [lsearch $chanlist_temp [regsub -all {["\]\[\}\{\\]} $newnick "\\\\&"]]] $list_index]] [rand [llength $nicklist]]] reply

Je posterai une version corrigée demain.


(remarque : j'ai été obligé de ne pas utiliser les balises tcl pour le 2ème morceau de code car sinon des \ sont remplacés par &92trucbidule, message subliminal pour CrazyCat)
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
  Répondre
#12
Remplacement a été effectué par le nouveau code.
Mais en Party-Line ceci :
Citation :[00:46:44] <Bosley--> [00:46] Tcl error [NCR::nick_change]: can't set "::megahal::reply": parent namespace doesn't exist
[00:46:44] <Bosley--> [00:46] Tcl error [NCR::nick_change]: can't set "::megahal::reply": parent namespace doesn't exist
[00:46:44] <Bosley--> [00:46] Tcl error [NCR::nick_change]: can't set "::megahal::reply": parent namespace doesn't exist
[00:46:44] <Bosley--> [00:46] Tcl error [NCR::nick_change]: can't set "::megahal::reply": parent namespace doesn't exist
  Répondre
#13
@Helias : ces lignes d'erreur ne peuvent apparaître QUE si tu as réglé l'option interface_megahal à 1.
Règle l'option à 0.
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
  Répondre
#14
Mise à jour : v1.03

Changelog :
  • ajouts de quelques nouvelles actions
  • correction d'un problème de dépendance à l'interface megahal (merci à Helias de l'avoir signalé)

(Lien de téléchargement dans le 1er message du thread)
Toute l'actualité de mes scripts ici     (dernière mise à jour le 22/04/2020)

Tout programme comporte au moins un bug et pourrait être raccourci d'au moins une instruction, de quoi l'on peut déduire que tout programme peut être réduit à une seule instruction qui ne fonctionne pas.
  Répondre
#15
Bonjour,

Merci MenzAgitat, tout fonctionne à merveille...
  Répondre


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  [Script] MediaDico (version actuelle : 3.126) MenzAgitat 31 24,925 14/10/2020, 13:26
Dernier message: Imhotep
  [Script] Reanimator (version actuelle : 1.2) MenzAgitat 31 14,778 10/10/2020, 16:07
Dernier message: mcdeffice
  [Script] Topic Warden (version actuelle : 1.54) MenzAgitat 23 15,855 10/10/2020, 15:51
Dernier message: mcdeffice
  [Script] Duck Hunt (version actuelle : 2.11) MenzAgitat 46 17,834 18/09/2020, 19:26
Dernier message: CrazyCat
  [Script] Automatic Translator (version actuelle : 1.1) MenzAgitat 11 6,406 18/09/2020, 15:21
Dernier message: MenzAgitat
  Motus (version actuelle : 3.357) MenzAgitat 477 22,082 19/05/2020, 22:48
Dernier message: pheeric
  [Script] Interface MegaHAL (version actuelle : 4.1.0) MenzAgitat 113 74,250 03/05/2020, 22:00
Dernier message: ShowDowN
  [Script] Anti-Frenzy (version actuelle : 2.02) MenzAgitat 9 7,659 22/04/2020, 13:51
Dernier message: MenzAgitat
  [Script] DicoReverso (version actuelle : 1.03) MenzAgitat 3 6,163 18/04/2020, 02:20
Dernier message: MenzAgitat
  [Script] Latest eggdrop.fr Script in Topic (version actuelle : 2.02) MenzAgitat 7 6,150 18/04/2020, 00:59
Dernier message: MenzAgitat

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)