Communauté Eggdrop

Version complète : putdcccraw
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
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. Smile
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
}


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
}


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 Surprised
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
}
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 ?
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
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.
(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.
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.
(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 .