[Script] putdcccraw
#1
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
Répondre Avertir
#2
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
}


Répondre
#3
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
}


Répondre
#4
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
}
Répondre Avertir
#5
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 ?
Répondre
#6
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
Répondre Avertir
#7
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.
Répondre
#8
(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.
Répondre Avertir
#9
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.
Répondre
#10
(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 .
Répondre Avertir


Atteindre :


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