[TCL] Interface MegaHAL (version actuelle : 4.1.0)
#31
fed8ra a écrit :[20:38] [MEGAHAL DEBUG] i!i!i! ENUMERATION DES CRITERES D'APPRENTISSAGE (1ERE PASSE)
[20:38] [MEGAHAL DEBUG] !i!i! La phrase a une longueur supérieure ou égale à $minlearnwords (15>=3)

[20:38] [MEGAHAL DEBUG] i!i!i! ENUMERATION DES CRITERES D'APPRENTISSAGE (2EME PASSE)
[20:38] [MEGAHAL DEBUG] i!i!i! La phrase a une longueur inférieure à $minlearnwords (1<3)

[20:38] [MEGAHAL DEBUG] i!i!i! L'apprentissage n'a pas été autorisé après passage en revue des critères.
En analysant ces lignes, on peut voir qu'au moment de la 1ère phase d'apprentissage, ta phrase fait 15 mots, et qu'au moment de la 2ème phase elle n'en fait plus que 1 (ce qui est trop court pour être appris).

Entre la 1ère phase et la 2ème phase, la phrase à apprendre passe dans une "moulinette" qui la filtre en éliminant les trucs qu'on ne veut pas que le bot apprenne et en faisant quelques remaniements.

La question est : pourquoi une phrase de 15 mots n'en fait plus qu'1 après être passée à la moulinette ?

Pourrais-tu activer le debugmode de cette façon :
variable DEBUGMODE {1 1 0 1 0 0 1}
et me montrer ce que ça donne quand tu essaies de lui apprendre quelque chose ?
Remarque : ton copier/coller doit commencer par une ligne qui commence par : [MEGAHAL DEBUG] i!i!i! dump process

_________________


fed8ra a écrit :j'ai remarqué aussi quand je-> reloadbrain:

[20:41] *** ATTEMPTING TO FREE NULL PTR: MegaHAL:megahal.c (382Cool
[20:41] *** ATTEMPTING TO FREE NULL PTR: MegaHAL:megahal.c (3829)
[20:41] Personnalité rechargée
En ce qui concerne cette erreur, elle vient du module en lui-même qui et je n'y peux rien mais elle n'en gêne pas le fonctionnement et tu peux l'ignorer.
Répondre Avertir
#32
oui bien sûr, il est presque original! http://fpaste.org/9o47/
Répondre Avertir
#33
04[MEGAHAL DEBUG] 06i!i13!i!14 dump process14 : DiEOrLivE | ~fed8ra@fed0raqc.users.undernet.org | DiEOrLivE | #fed0ra | ~Fedora est un syst�me d'exploitation et une plate-forme, bas� sur Linux, que tout le monde peut utiliser, modifier et distribuer librement. Il est d�velopp� par une large communaut� de personnes qui s'efforcent de fournir le meilleur du libre, de l'open source et des standards.
[08:50] 04[MEGAHAL DEBUG] 07i!i08!i!i!i!14 #fed0ra <DiEOrLivE> ~Fedora est un syst�me d'exploitation et une plate-forme, bas� sur Linux, que tout le monde peut utiliser, modifier et distribuer librement. Il est d�velopp� par une large communaut� de personnes qui s'efforcent de fournir le meilleur du libre, de l'open source et des standards.
[08:50] 04[MEGAHAL DEBUG] 06i!i13!i!14 dump is_learn_allowed_1st_pass14 : DiEOrLivE | DiEOrLivE | ~fed8ra@fed0raqc.users.undernet.org | DiEOrLivE (hjlmnoptx|-) | #fed0ra | #fed0ra | ~Fedora est un syst�me d'exploitation et une plate-forme, bas� sur Linux, que tout le monde peut utiliser, modifier et distribuer librement. Il est d�velopp� par une large communaut� de personnes qui s'efforcent de fournir le meilleur du libre, de l'open source et des standards.
[08:50] 04[MEGAHAL DEBUG] 10i!i11!i!14 ENUMERATION DES CRITERES D'APPRENTISSAGE (1ERE PASSE)
[08:50] 04[MEGAHAL DEBUG] 03i!i09!i!14 L'apprentissage est actif sur #fed0ra (flag +megahal_learn).
[08:50] 04[MEGAHAL DEBUG] 03i!i09!i!14 la ligne commence par "~" : 03apprentissage forc�14 + ne r�pond pas si flags 07m|m
[08:50] 04[MEGAHAL DEBUG] 03i!i09!i!14 DiEOrLivE/DiEOrLivE n'est pas pr�sent dans la liste $learn_exclusion_list
[08:50] 04[MEGAHAL DEBUG] 03i!i09!i!14 aucun mot ne figure dans la liste des mots dont l'apprentissage est interdit
[08:50] 04[MEGAHAL DEBUG] 03i!i09!i!14 Le mode "floodlock_learn" n'est pas actif pour DiEOrLivE sur #fed0ra
[08:50] 04[MEGAHAL DEBUG] 14i!i15!i!14 tirage d'un nombre al�atoire entre 1 et 100 afin de d�terminer si le bot a le droit d'apprendre : 0787
[08:50] 04[MEGAHAL DEBUG] 03i!i09!i!14 La phrase a une longueur sup�rieure ou �gale � $minlearnwords (0744 14>=07 314)
[08:50] 04[MEGAHAL DEBUG] 03i!i09!i!14 le bot a 07100%14 de chances d'apprendre.
[08:50] 04[MEGAHAL DEBUG] 03i!i09!i!14 la ligne n'est pas une commande ou fait partie des commandes autoris�es.
[08:50] 04[MEGAHAL DEBUG] 06i!i13!i!14 dump moulinex_in14 : learn | DiEOrLivE | #fed0ra | Fedora est un syst�me d'exploitation et une plate-forme, bas� sur Linux, que tout le monde peut utiliser, modifier et distribuer librement. Il est d�velopp� par une large communaut� de personnes qui s'efforcent de fournir le meilleur du libre, de l'open source et des standards.
[08:50] 04[MEGAHAL DEBUG] 06i!i13!i!14 dump is_learn_allowed_2nd_pass14 : DiEOrLivE | ~fed8ra@fed0raqc.users.undernet.org | DiEOrLivE (hjlmnoptx|-) | #fed0ra | ~Fedora est un syst�me d'exploitation et une plate-forme, bas� sur Linux, que tout le monde peut utiliser, modifier et distribuer librement. Il est d�velopp� par une large communaut� de personnes qui s'efforcent de fournir le meilleur du libre, de l'open source et des standards. | Fedoraestunsyst�med'exploitationetuneplate-forme,
[08:50] 04[MEGAHAL DEBUG] 10i!i11!i!14 ENUMERATION DES CRITERES D'APPRENTISSAGE (2EME PASSE)
[08:50] 04[MEGAHAL DEBUG] 03i!i09!i!14 la ligne commence par "~" : 03apprentissage forc�14 + ne r�pond pas si flags 07m|m
[08:50] 04[MEGAHAL DEBUG] 05i!i04!i!14 La phrase a une longueur inf�rieure � $minlearnwords (071 14<07 314)
[08:50] 04[MEGAHAL DEBUG] 03i!i09!i!14 la ligne n'est pas une commande ou fait partie des commandes autoris�es.
[08:50] 04[MEGAHAL DEBUG] 06i!i13!i!14 dump is_talk_allowed_1st_pass14 : DiEOrLivE | DiEOrLivE | ~fed8ra@fed0raqc.users.undernet.org | DiEOrLivE (hjlmnoptx|-) | #fed0ra | #fed0ra | ~Fedora est un syst�me d'exploitation et une plate-forme, bas� sur Linux, que tout le monde peut utiliser, modifier et distribuer librement. Il est d�velopp� par une large communaut� de personnes qui s'efforcent de fournir le meilleur du libre, de l'open source et des standards.
[08:50] 04[MEGAHAL DEBUG] 07[#fed0ra] 14 Fedora est un syst�me d'exploitation et une plate-forme, bas� sur Linux, que tout le monde peut utiliser, modifier et distribuer librement. Il est d�velopp� par une large communaut� de personnes qui s'efforcent de fournir le meilleur du libre, de l'open source et des standards.
[08:50] 04[MEGAHAL DEBUG] 03--learn-->15 Fedoraestunsyst�med'exploitationetuneplate-forme,bas�surLinux,quetoutlemondepeututiliser,modifieretdistribuerlibrement.Ilestd�velopp�parunelargecommunaut�depersonnesquis'efforcentdefournirlemeilleurdulibre,del'opensourceetdesstandards
[08:50] 04[MEGAHAL DEBUG] 06i!i13!i!14 dump learn14 : DiEOrLivE | DiEOrLivE | #fed0ra | #fed0ra | Fedoraestunsyst�med'exploitationetuneplate-forme,bas�surLinux,quetoutlemondepeututiliser,modifieretdistribuerlibrement.Ilestd�velopp�parunelargecommunaut�depersonnesquis'efforcentdefournirlemeilleurdulibre,del'opensourceetdesstandards
[08:50] 04[MEGAHAL DEBUG] 14i!i15!i!14 appris07 Fedoraestunsyst�med'exploitationetuneplate-forme,bas�surLinux,quetoutlemondepeututiliser,modifieretdistribuerlibrement.Ilestd�velopp�parunelargecommunaut�depersonnesquis'efforcentdefournirlemeilleurdulibre,del'opensourceetdesstandards 14de 07DiEOrLivE
Répondre Avertir
#34
Difficile à lire ton log, tu aurais pu faire un effort pour me faciliter la lecture (comme virer les codes couleur).

Il semble qu'après passage à la moulinette, tous les espaces disparaissent de ta phrase.
Par conséquent, la phrase résultante ne fait plus qu'un mot et ne satisfait plus au critère de longueur minimale pour être apprise.
Citation :[08:50] [MEGAHAL DEBUG] i!i!i! dump moulinex_in : learn | DiEOrLivE | #fed0ra | Fedora est un syst�me d'exploitation et une plate-forme, bas� sur Linux, que tout le monde peut utiliser, modifier et distribuer librement. Il est d�velopp� par une large communaut� de personnes qui s'efforcent de fournir le meilleur du libre, de l'open source et des standards.
-->
[08:50] [MEGAHAL DEBUG] i!i!i! dump is_learn_allowed_2nd_pass : DiEOrLivE | ~fed8ra@fed0raqc.users.undernet.org | DiEOrLivE (hjlmnoptx|-) | #fed0ra | ~Fedora est un syst�me d'exploitation et une plate-forme, bas� sur Linux, que tout le monde peut utiliser, modifier et distribuer librement. Il est d�velopp� par une large communaut� de personnes qui s'efforcent de fournir le meilleur du libre, de l'open source et des standards. | Fedoraestunsyst�med'exploitationetuneplate-forme,
Remarque : ne pas tenir compte du fait qu'il manque la fin de la phrase, c'est tronqué à cause de la limite de longueur des lignes et ça n'a aucun lien avec ton problème.

J'ai comparé le code que tu posté sur fpaste.org avec le mien, et j'ai pu voir que l'encodage du fichier avait changé.
Soit le changement d'encodage est lié au passage par fpaste, soit c'est ton éditeur de texte qui s'est permis de le faire.
Etant donné que mon script utilise certains caractères spéciaux comme marqueurs pour le traitement des phrases, un changement d'encodage peut être problématique.

Re-télécharge le script et re-teste sans rien modifier dedans ni l'ouvrir avec ton éditeur.
Pense à vérifier que tout est activé au moyen de la commande .megahal_status, et tape .megahal on et .learn on si nécessaire.
Répondre Avertir
#35
je suis désolé.

bon j'ai refait tout ce que tu ma dit et ça ne fonctionne pas plus!

bon bah je vais laisser faire ce .tcl je crois.

Merci a+
Répondre Avertir
#36
Citation :Ensuite remette les fichiers vierge transmit au préalable dans la source de l'interface megahal qui et :

megahal.aux
megahal.ban
megahal.swp
megahal.trn
Inutile, ces fichiers ne sont jamais modifiés par le module.

Citation :refaire les commandes "comme si vous le démarrer pour la première fois" qui et stipulé dans le post.
Inutile aussi, l'état d'activation du module ne peut pas être lié au problème.

Citation :Lors de mon transfert et de la recompilation de l'eggdrop sur l'autre shell ceci aurez pu entrainer un bug.
(MenzAgitat)
Ce n'est pas tout à fait ce que j'ai dit. Quand on cite ce qu'a dit quelqu'un, on le fait bien ou on ne le fait pas.
J'ai dit qu'une différence de compilation de ton eggdrop (entre l'ancienne version et la nouvelle) pourrait avoir un rapport avec le fait que le module crashe en sauvant le brain (qui lui est hérité de l'ancienne version), puis, peu convaincu par cette hypothèse, j'ai enchaîné sur un "enfin bref osef, ça marche maintenant".

La conclusion de tout ça est qu'un coup de .lobotomy a réglé le problème.
Répondre Avertir
#37
Nouvelle version disponible : v3.1.1

changelog :

Citation :
  • Correction : l'option reply_exclusion_list ne fonctionnait pas dans certains cas.
  • Changement de licence.

Téléchargement : ici
Répondre Avertir
#38
Bonjour, j'ai un probleme avec megahal
[16:47:03] Tcl error in file 'eggdrop.conf':
[16:47:03] invalid command name "setmegabotnick"
while executing
"setmegabotnick $::nick""
(in namespace eval "::megahal_interface" script line 434)
invoked from within
"namespace eval megahal_interface {


###########################
# PARAMETRES #
###########################

# Notez que certaines des v..."
(file "scripts/MegaHAL_Interface.tcl" line 26Cool
invoked from within
"source scripts/MegaHAL_Interface.tcl"
(file "eggdrop.conf" line 1436)
[16:47:03] * CONFIG FILE NOT LOADED (NOT FOUND, OR ERROR)
If there's no errors above, your bot should show up on IRC soon.
Check http://windrop.sourceforge.net/windropfaq.html for help with any errors or
if bot doesn't show up on IRC.
Appuyez sur une touche pour continuer...

J'ai mis le .dll dans module le script tcl dans le dossier scripts et le reste dans le dossier principal j'ai ajouter source scripts/MegaHAL_Interface.tcl et
loadmodule megahal mais rien n'a faire :/
Si quelqu’un a une solution, thx Very Happy
Répondre Avertir
#39
Tu dois avoir la ligne loadmodule megahal avant la ligne source scripts/MegaHAL_Interface.tcl, vérifie que c'est le cas.

Regarde aussi dans le fichier log de ton eggdrop et vois si aucun message d'erreur n'apparaît pendant la phase d'initialisation, et plus précisément au moment où il charge le module.

setmegabotnick est une commande du module et le problème que tu as vient vraisemblablement du fait que le module ne s'est pas chargé correctement.
Répondre Avertir
#40
C'est bon ca marche grâce a toi Wink
Du très bon boulot !
Répondre Avertir
#41
bonjour j'ai aussi un probleme avec mengahal


[05:24:14] invalid command name "setmegabotnick"
while executing
"setmegabotnick $::nick"
(in namespace eval "::megahal_interface" script line 434)
invoked from within
"namespace eval megahal_interface {


###########################
# PARAMETRES #
###########################

# Notez que certaines des v..."
(file "scripts/MegaHAL_Interface.tcl" line 267)
invoked from within
"source scripts/MegaHAL_Interface.tcl"
(file "Ani.conf" line 397)
[05:24:14] * FICHIER DE CONFIGURATION NON CHARGE (INTROUVABLE OU ERREUR)


j'ai vue ton poste au dessu et j'ai bien mis le load avant la source mais j'ai toujours cette erreur qui apparait

d'avance merci
Répondre Avertir
#42
@Lesny :
MenzAgitat a écrit :Tu dois avoir la ligne loadmodule megahal avant la ligne source scripts/MegaHAL_Interface.tcl, vérifie que c'est le cas.

Regarde aussi dans le fichier log de ton eggdrop et vois si aucun message d'erreur n'apparaît pendant la phase d'initialisation, et plus précisément au moment où il charge le module.

setmegabotnick est une commande du module et le problème que tu as vient vraisemblablement du fait que le module ne s'est pas chargé correctement.
Répondre Avertir
#43
bonjour

apres avoir suivis tes conseils et un peux t'aide je l'avous j'ai relancer le tcl et voici mon erreur

[00:25] <bobote> [00:25:41] Ecriture de la liste utilisateurs...
[00:25] <bobote> [00:25:41] Writing channel file...
[00:25] <bobote> [00:25:41] Restarting ...
[00:25] <bobote> [00:25:41] Personnalité réduite
[00:25] <bobote> [00:25:41] Personnalité sauvegardée
[00:25] <bobote> [00:25:41] *** ATTEMPTING TO FREE NULL PTR: MegaHAL:megahal.c (382Cool
[00:25] <bobote> [00:25:41] *** ATTEMPTING TO FREE NULL PTR: MegaHAL:megahal.c (3829)
[00:25] <bobote> [00:25:41] Module déchargé: megahal
[00:25] <bobote> [00:25:41] Module déchargé: console
[00:25] <bobote> [00:25:41] Module déchargé: irc
[00:25] <bobote> [00:25:41] Module déchargé: ctcp
[00:25] <bobote> [00:25:41] Tcl error [megahal_interface:Surprisedn_event_savebrain]: invalid command name "trimbrain"
[00:25] <bobote> [00:25:41] Module déchargé: server
[00:25] <bobote> [00:25:41] Writing channel file...
[00:25] <bobote> [00:25:41] Module déchargé: channels
[00:25] <bobote> [00:25:41] Module déchargé: dns
[00:25] <bobote> [00:25:41] Listening at telnet port 7001 (all).
[00:25] <bobote> [00:25:41] Module chargé: server
[00:25] <bobote> [00:25:41] No longer supporting channel #Accueil
[00:25] <bobote> [00:25:41] * Last context: tclhash.c/242 []
[00:25] <bobote> [00:25:41] * Please REPORT this BUG!
[00:25] <bobote> [00:25:41] * Check doc/BUG-REPORT on how to do so.
[00:25] <bobote> [00:25:41] * Wrote DEBUG
[00:25] <bobote> [00:25:41] * SEGMENT VIOLATION -- CRASHING!
-
DCC session closed

d'avance merci
Répondre Avertir
#44
Citation :[00:25] <bobote> [00:25:41] *** ATTEMPTING TO FREE NULL PTR: MegaHAL:megahal.c (3828)
[00:25] <bobote> [00:25:41] *** ATTEMPTING TO FREE NULL PTR: MegaHAL:megahal.c (3829)
Cette erreur provient du module MegaHAL qui tente de libérer des pointeurs inexistants lors de son déchargement au cours d'un restart du bot. Je n'y peux rien, le module n'est pas de moi et cela ne concerne pas l'interface.
Tu peux cependant ignorer cette erreur, elle est sans conséquences et ne gêne aucunement le fonctionnement de MegaHAL.
Citation :[00:25] <bobote> [00:25:41] Tcl error [megahal_interface::on_event_savebrain]: invalid command name "trimbrain"
Cette erreur se produit depuis la version 1.6.20 d'eggdrop : il semble que lors d'un restart, les modules sont déchargés AVANT le traitement des binds evnt prerestart alors que comme leur nom l'indique, ils devraient être traités avant que la procédure de restart ne commence réellement.
Je n'ai pas encore élucidé ce mystère et la conséquence est que MegaHAL ne sauve pas son brain lors d'un restart, et donc "oublie" tout ce qu'il a appris depuis la dernière écriture du brain qui a lieu toutes les 35mn.
Là encore, c'est un problème mineur qui peut être contourné en tapant .savebrain sur le chan avant de restart, et cela n'empêche pas MegaHAL de fonctionner.
Citation :[00:25] <bobote> [00:25:41] No longer supporting channel #Accueil
[00:25] <bobote> [00:25:41] * Last context: tclhash.c/242 []
[00:25] <bobote> [00:25:41] * Please REPORT this BUG!
[00:25] <bobote> [00:25:41] * Check doc/BUG-REPORT on how to do so.
[00:25] <bobote> [00:25:41] * Wrote DEBUG
[00:25] <bobote> [00:25:41] * SEGMENT VIOLATION -- CRASHING!
Si c'est ce que je crois, ce crash n'a absolument rien à voir avec MegaHAL (et donc ne gêne pas son fonctionnement), et est provoqué par ton module de stats qui n'est pas compatible avec la version 1.6.20 d'eggdrop.
Le module de stats fonctionne quand même correctement, mais il crashe ton egg chaque fois que tu tentes de le restart.
Je ne connais que 2 solutions :
  • se faire à l'idée que tu ne peux plus .restart, et faire un .die suivi d'un redémarrage manuel de l'eggdrop à la place
  • ne plus utiliser ce module de stats
Répondre Avertir
#45
En partie, mais pas totalement vu que là il y a 3 choses différentes.
Répondre Avertir


Atteindre :


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