Communauté Eggdrop
[TCL] putdcccraw - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : [TCL] putdcccraw (/showthread.php?tid=1526)



putdcccraw - Furaxx37 - 25/04/2014

Bonjour,
Je viens vers vous car j'ai un souci avec mes eggdrops.
J'ai tout le temps la même erreurs qui est :
"[03:35:47] Tcl error [connection]: putdccraw is deprecated. Please use putdcc/putnow instead."
et aussi :
[03:38:25] No longer supporting channel #salon
[03:38:25] No longer supporting channel #salon

Sachant que je suis débutant, j'ai un peu de mal tout seul a trouver la réponse a cette erreur.
Pouvez-vous m’éclairer ?
Je met le tcl histoire que vous puissiez voir l'erreur.
Cordialement. :)


RE: putdcccraw - CrazyCat - 25/04/2014

Je pense que le message est assez explicite, et je te l'ai d'ailleurs dit hier sur IRC.
putdccraw est à éviter, il vaut mieux utiliser putdcc ou putnow.

Il faut donc que tu trouves dans ton fichier toutes les commandes putdccraw et les convertisse.

Par exemple:
tcl
proc putfast {arg} {
 append arg "\n"
 putdccraw 0 [string length $arg] $arg
}



va devenir:

tcl
proc putfast {arg} {
 append arg "\n"
 putdcc 0 $arg -raw
}





RE: putdcccraw - CrazyCat - 25/04/2014

Pour info, voici la procédure de compatibilité présente dans le fichier compat.tcl:

tcl
proc putdccraw {idx size text} {
  if {!$idx} {
    putloglev o * "Warning! putdccraw is deprecated. Use putnow instead!"
    putnow $text
    return -code ok
  }
  putloglev o * "Warning! putdccraw is deprecated. Use putdcc instead!"
  if {![valididx $idx]} {return -code error "invalid idx"}
  putdcc $idx $text -raw
}





RE: putdcccraw - Furaxx37 - 25/04/2014

Ok j'ai tout changer ,
maintenant tu ma dit qu'il faut rajouter le -raw mais je sais pas ou .
Si seulement il y avait que se message d'erreur .
erreur: [04:03:02] Tcl error [sipconnexion]: can't read "g_host": no such variable
[04:03:02] Tcl error [autolog_join]: reached max # of logfiles

A croire que les eggdrop c'est pas fait pour moi .

(25/04/2014, 10:10)CrazyCat a écrit : Pour info, voici la procédure de compatibilité présente dans le fichier compat.tcl:

tcl
proc putdccraw {idx size text} {
  if {!$idx} {
    putloglev o * "Warning! putdccraw is deprecated. Use putnow instead!"
    putnow $text
    return -code ok
  }
  putloglev o * "Warning! putdccraw is deprecated. Use putdcc instead!"
  if {![valididx $idx]} {return -code error "invalid idx"}
  putdcc $idx $text -raw
}

il y a rien de tout sa quand compat.tcl :o
j'ai rajouter comme tu ma dit maintenant le message c'est : Tcl error [cmd:!news]: unknown putdcc option: should be -raw
Code :
proc putfast {arg} { append arg "\n" putdcc 0 $arg -raw }



RE: putdcccraw - CrazyCat - 25/04/2014

Tu essayes de corriger plusieurs scripts en même temps, tu ne t'en sortiras pas...
(25/04/2014, 10:10)Furaxx37 a écrit : erreur: [04:03:02] Tcl error [sipconnexion]: can't read "g_host": no such variable
Un souci dans le script qui a cette procédure, script inconnu.
(25/04/2014, 10:10)Furaxx37 a écrit : [04:03:02] Tcl error [autolog_join]: reached max # of logfiles
L'erreur est claire: l'eggdrop a atteint la limite des canaux qu'il peut logguer (à priori 10).
Tu peux changer ça dans la configuration, la ligne est:
tcl
set max-logs ...


(25/04/2014, 10:10)Furaxx37 a écrit : j'ai rajouter comme tu ma dit maintenant le message c'est : Tcl error [cmd:!news]: unknown putdcc option: should be -raw
As-tu bien fait les corrections partout ?


RE: putdcccraw - Furaxx37 - 25/04/2014

Code :
########################### ## Systeme de News ## ########################### set NnameAdulte "./scripts/news.txt" proc putfast {arg} { append arg "\n" putdcc 0 $arg -raw } bind pub - !addnews pub:!addnews proc pub:!addnews { nick host hand channel text } { if ![string compare [string tolower $channel] "#staff"] { global NnameAdulte set f [open "$NnameAdulte" "a"] puts $f "2--4#staff2--(3[clock format [clock seconds] -format " %x %X"] 2)12 $text 3Cey70y13t9/Dd4XE/74dSs/ 2(4 $nick 2)" close $f putserv "NOTICE $nick 3OK.12 News bien ajoutée." } } bind pub *|* !news cmd:!news proc cmd:!news {nick uhost hand channel arg} { global NnameAdulte if {$channel != "#staff"} { putserv "notice $nick :14No access !"; return } set NnameAdulte [open $NnameAdulte r] set ligne "1" while { ![eof $NnameAdulte] } { gets $NnameAdulte rrabus set len [string length $rrabus] putdcc 0 [expr $len + 1] "$rrabus\n" putfast "NOTICE $nick :5 $ligne - $rrabus" if {$rrabus != ""} { incr ligne } } if {$ligne == "0"} { putfast "NOTICE $nick :14Il n'y as pas encore de news." } close $NnameAdulte return 0 } bind pub - !delnews pub:!delnews proc pub:!delnews { nick host hand channel args } { if ![string compare [string tolower $channel] "#staff"] { global NnameAdulte global NnameAdulte set file [open $NnameAdulte r] set fc 0 set fd 0 while {![eof $file]} { set line [gets $file] incr fc if {$fc == $args } { puthelp "NOTICE $nick :Effacement de la news n°$args" set fd 1 } else { lappend datalist $line } } close $file incr fc -1 set file [open $NnameAdulte w] foreach line $datalist { if {$line != "" } { puts $file $line } } close $file if { $fd == 0 } { putfast "NOTICE $nick :Erreur ! le numéro de la ligne n'existe pas" } } } putlog "\00304news.tcl \00303ajouté avec succés"

Voila le tcl au complet Je pense l'avoir bien remplacer. et quand je tape la commande !news ou addnews sa met :
[05:13:08] Tcl error [cmd:!news]: unknown putdcc option: should be -raw
[05:13:11] Tcl error [cmd:!news]: couldn't open "file11": no such file or directory


RE: putdcccraw - CrazyCat - 25/04/2014

Je vois au moins une ligne qui est:
tcl
putdcc 0 [expr $len + 1] "$rrabus\n"



Et pour l'erreur de fichier... Peut-être que le fichier n'est pas créé, donc qu'il n'y a pas eu un !addnews avant.


RE: putdcccraw - Furaxx37 - 25/04/2014

(25/04/2014, 11:53)CrazyCat a écrit : Je vois au moins une ligne qui est:
tcl
putdcc 0 [expr $len + 1] "$rrabus\n"



Et pour l'erreur de fichier... Peut-être que le fichier n'est pas créé, donc qu'il n'y a pas eu un !addnews avant.

Est donc la ligne que tu ma mit n'est pas bonne ? car je la vois est c'est exactement se que tu a mit.


RE: putdcccraw - CrazyCat - 25/04/2014

Il n'y a pas qu'une ligne.
Ajoute le -raw à toutes les lignes qui commencent par putdcc.

Là, ça n'a rien à voir avec la (mé)connaissance du langage, c'est juste de la réflexion et de la logique.


RE: putdcccraw - Furaxx37 - 25/04/2014

(25/04/2014, 13:49)CrazyCat a écrit : Là, ça n'a rien à voir avec la (mé)connaissance du langage, c'est juste de la réflexion et de la logique.

oops effectivement je te l'accorde se coup ci .