Communauté Eggdrop
Erreur inconnue et non signalée - Version imprimable

+- Communauté Eggdrop (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)
+--- Sujet : Erreur inconnue et non signalée (/showthread.php?tid=916)

Pages : 1 2


Erreur inconnue et non signalée - teck23 - 22/03/2011

Bonjour a tous , c'est ma premiére participation sur ce forum , j'ai un petit soucis avec mon bot , le code est bien fait (j'en suis pas sur) mais il réagis pas a la commande , il detecte rien en pl .... au debut un membre du forum (Heretoc) m'a dit que c'etait peut étre en rapport avec les droits de lecture/ecriture sur le fichier mais c'etait pas le cas , voici le code , merci de me dire s'il vous plait d'ou vient l'erreur:

tcl
bind pub - !connect connects
proc connects { nick uhost handle channel arg } {	
	putquick "NOTICE $nick :\0033..:Liste des connexions:.."
	catch {open "./scripts/connect.db" "r"} connexion
	set num 0
	while {![eof $connexion]} {
	gets $connexion verif
	if {$verif ne ""} {incr num 1;putquick "NOTICE $nick :\0034 $num -->\0033 [lrange $verif 0 end] \r"}
	}
	if {$num eq "0"} {putquick "NOTICE $nick :\0034Aucune connexion dans la base de donnée ! \r; return 0"}
	putquick "NOTICE $nick :\0033Fin de la Liste (\0034 $num \0033connexion(s) enregistré(s))"; return 0
	catch {close $connexion}
}





ps: méme avec des petits codes il réagis pas .... :

tcl
bind pub - !test v_test
proc v_test { nick uhost handle channel arg } {	
putfast "privmsg #serveur : ok "
}




Bonne journée a tous Smile


RE: Erreur inconnue et non signalée - teck23 - 22/03/2011

re, par contre j'aimerai bien avoir d'autres formats de commandes , par exemple:
!connect pseudo "il me donne les ip qui ont déjà été utilisées par ce pseudo"
!connect ip "il me donne les pseudo utilisés avec l'adresse ip"
avec le même fichier data ... , j'ai essayer plusieurs choses , mais ca a l'air inutile vue que le bot ne fait rien :s

j'espère que vous pourriez m'aider svp Smile


RE: Erreur inconnue et non signalée - CrazyCat - 22/03/2011

On va essayer de traiter une chose à la fois, ce sera plus simple.

Tout d'abord, mets un maximum de putlog dans ta procédure connects pour voir où tu passes et où tu ne passes pas.
Ensuite, je te déconseille d'utiliser channel dans l'appel de ta procédure, ça me semble être un mot-clé réservé. Utilise plutôt chan.

Une fois tout ceci fait, tu auras surement plus de détails sur ce qui bloque et on pourra passer à la suite.


RE: Erreur inconnue et non signalée - teck23 - 22/03/2011

re CrazyCat j'ai essayer ce que tu m'as conseiller mais ça ne donne tjrs aucun resultat ni en pl ni en salon ...


RE: Erreur inconnue et non signalée - CrazyCat - 22/03/2011

Tapes .binds pub en PL et tu verras si tes binds sont bien là.
Question très stupide: tu charges bien tes scripts ?


RE: Erreur inconnue et non signalée - teck23 - 22/03/2011

Oui , je les changes bien , mais aprés avoir taper .binds pub , les binds de ce scripts sont introuvables


RE: Erreur inconnue et non signalée - teck23 - 22/03/2011

j'ai méme esssayer avec ça :

tcl
bind pub - !connect connects
proc connects { nick uhost handle chan arg } {
#putquick "privmsg $chan :\00302connexions/ pseudo /dates"
set connectlog [open "./scripts/connect.db" "r+"]
set cn "\002\00306*\002"
set contenu [ read -nonewline $connectlog]
foreach g_connect [split $contenu "\n"] {
putquick "privmsg $chan :$cn \00312$g_connect"
}
}



ça donne tjrs rien

Edit par CrazyCat: Merci de penser à utiliser les balises [ TCL ] et [ /TCL ] (sans les espaces)


RE: Erreur inconnue et non signalée - djkenny - 22/03/2011

salut,
si tu tapes en pl
Code :
.tcl set errorInfo
ca te retourne quoi?


RE: Erreur inconnue et non signalée - teck23 - 22/03/2011

Ca me met une erreur qui est au debut du script (une erreur que je viens juste d'avoir , avant elle n'y etait pas)


‹10:14:19› <Hestia> Tcl: can't read "connexion": no such variable
‹10:14:20› <Hestia> Tcl: while executing
‹10:14:20› <Hestia> Tcl: "puts $logfichier "$connexion""
‹10:14:20› <Hestia> Tcl: (procedure "connection:notice" line 13)
‹10:14:20› <Hestia> Tcl: invoked from within
‹10:14:20› <Hestia> Tcl: "connection:notice $_raw1 $_raw2 $_raw3"


RE: Erreur inconnue et non signalée - djkenny - 22/03/2011

re teste ta commande !connect et retape celle que je t ai donné juste après


RE: Erreur inconnue et non signalée - teck23 - 22/03/2011

tcl
bind raw - NOTICE sconnexion
proc sconnexion {from key arg} {
global botnick notc mod ctime
   set text [split $arg] 
   if {[join [lrange $text 2 5]] == "Notice -- Client connecting"} {
     set g_nick [lindex $text 9]
      set g_user [string range [lindex [split [lindex $text 10] "@"] 0] 1 end]
      set g_host [string range [lindex [split [lindex $text 10] "@"] 1] 0 end-1]
   set g_userhost "$g_nick!$g_user@$g_host"
   set connexion "$g_nick $g_host $ctime"
    putfast "PRIVMSG #serveur :\00301Connexion de:\00303 $g_nick \00301sous le host \00301$g_user\00304@\00301$g_host"
	}
   set logfichier [open "./scripts/connect.db" "a+"]
   puts $logfichier "$connexion"
   close $logfichier
   }
   return 0
   }
}




Il me detecte l'erreur dans la ligne 7 (une variable qui fonctionne trés bien dans le code) essaie le pour confirmer si tu veux, mais a chaque fois que je connecte un pseudo il me sort

Edit par CrazyCat: Merci de penser à utiliser les balises [ TCL ] et [ /TCL ] (sans les espaces)


RE: Erreur inconnue et non signalée - teck23 - 22/03/2011

C'est bon , ça fonctionne Smile merci beaucoups a vous


RE: Erreur inconnue et non signalée - teck23 - 22/03/2011

re CrazyCat , s'il te plait pour mon 2éme but j'ai penser faire une sorte de lecture inversée mais ça a l'air trés compliquer , j'aimerai bien avoir des renseigenements , ou que quelqu'un me guide pour commencer ce code, par exemple comme j'ai expliquer plus haut:
!connect pseudo "il me donne les ip qui ont déjà été utilisées par ce pseudo"
!connect ip "il me donne les pseudo utilisés avec l'adresse ip"
avec le méme fichier .db
avec les données qui sont enregistré de cette facon
Nyx 41.104.1.79 17:47 21.03.2011

Merci Smile


RE: Erreur inconnue et non signalée - cestlemien - 22/03/2011

salut,

Sans grande pretention, mis les fonctions de seen.tcl, ou tapavu.tcl, feraient pas ce que tu cherches ?Et en adaptant le code ou lelieu ou irait chercher le bot te feraient peut etre aboutir à ce que tu recherche.

Cordialement.


RE: Erreur inconnue et non signalée - teck23 - 22/03/2011

Salut, Non c'est pas la même chose , par ce que le seen et le tapavu ne gardent pas l'historique des connexions (ip/pseudo) mais ils gardent juste l'heure et la date.
ce que je veux c'est juste une façon de lire les données soit avec le pseudo soit avec l'ip genre
si on met
set pseudo [lindex $arg 0] ça nous sort les ip qui sont dans les mémes lignes que le pseudo et le contraire avec
set ip [lindex $arg 0] pour nous données les pseudos qui étaient utilisées avec l'ip demandée
merci cestlemien Smile