25/03/2008, 20:23 (Modification du message : 25/03/2008, 20:27 par DaV34.)
Bonjour
Je n'ai jamais essayer d'utiliser les dcc send avec un eggdrop, chose que je voulais essayer de faire mais par manque de temps et de motivation, je n'ai pas pû faire.
J'ai donc trouver un petit tcl sur la toile, je pense qu'il peut éventuellement t'aider :
tcl
### sendfile.tcl v1.3 by (Carl M. Gregory) MC_8 <gregory@worldinter.net>## ^^ Please report any errors!
### History# v1.3 (01-17-00)# + fixed "bad option search:" stuff, an anonymous user of the script pointed out the bug, thank you.## v1.2 (12-03-99)# + Fixed unset bug in proc.# + Fixed $trigger reply error.# + Fixed mis-communication error with $arg## v1.1 (11-25-99)# + Predicted bug's (fixed bugs before they were reported)# + Trigger can be wildcarded.## v1 - inital release##
# This is where you set the trigger (can contain wildcards), and what it sends on that trigger.# IF your trigger contains a space, you must "quote" it, ie: set "mc_sf(*send me bla.txt*)" "files/bla.txt"# You may set as many as you like, it must be in this syntax:# set mc_sf(<enter the trigger here>) "<put the full path to file here>"set mc_sf(!tcl)"doc/tcl-commands.doc"
### Do not edit past this part ###
bind pubm - * mcsf:send
proc mcsf:send {nick uhost hand chan args}{global mc_sf
if{[string match "* *"$args]}{set args [string range $args1[expr[string length $args] -2]]}foreach search [array names mc_sf]{if{[string match [string tolower $search][string tolower $args]]}{break}{unset search}};if{[info exists search]}{setfile[lindex[split$mc_sf($search) //][expr[llength[split$mc_sf($search) //]]-1]]switch -- [dccsend $mc_sf($search)$nick]{0{puthelp "NOTICE $nick :Sending $file to you."}1{puthelp "NOTICE $nick :dcc table is full (too many connections), try to get $file later."}2{puthelp "NOTICE $nick :can't open a socket for the transfer of $file."}3{puthelp "NOTICE $nick :$file doesn't exist."}4{puthelp "NOTICE $nick :$file was queued for later transfer."}}}}
putlog "SendFile.tcl v1.3 by MC_8 loaded."
Étrange comme il ressemble a ton code quand même.
Autre chose, la moindre des choses quand l'on poste c'est de dire "Bonjour" ou autre forme de politesse, et d'énoncer clairement le problème / la question ou autre avant de poster une source.
C'est une question d'organisation hein, enfin bref c'est mieux de savoir de quoi tu parles au DÉBUT de ton post, pour ne pas avoir a descendre, lire c'est quoi le soucis, et remonter pour voir la source (petit détail, qui y fait en plus du manque de forme de politesse).
25/03/2008, 20:28 (Modification du message : 25/03/2008, 20:35 par DaV34.)
bah la suis sur le cul je croyait ca existait pas et moi ca marrangerait de reussir a faire ca vu que je taf sur un forum p2p et mettre a dispo des gens les fichier en download direct sur mon server.mais finalement si ton tcl marche pour quoi ne pas tester
par contre pour que ca marche faut le module d envois dans legg aussi
Édition par DaV34 : J'ai supprimé ton second post car poster sur le même thread 2 posts en l'espace de même pas 2 minutes, c'est limite, surtout qu'il me semble qu'il existe une fonction "Éditer". Autre chose : Une phrase commence toujours par une majuscule et se termine par un point
Bonsoir ou bonjour.Bon finalement etre acuser de rip, sincerement ne me touche pas, la politesse je reconnais que je l'est negliger mais bon ce n'est pas grave je continurai de mon coter car je suppose que l'aide ici c'est mort et ca me rappelle pourquoi je venais plus ici donc je ne vous dit pas see you later....
Ici jai deja eu ce genre de propos pour un scan ircop mais bon passons jai deposer ce tcl qui dysfonctionne car il peut servir jai penser que c'etait une bonne solution pour faciliter le partage de fichier sur le server
Bon, halte au feu!
Moi je voudrais juste savoir quel est le dysfonctionnement rencontré, de manière à pouvoir chercher une solution.
Et pour mettre un bémol concernant la copie ou le plagiat: il n'est pas rare que 2 TCL servant à la même chose soient basés l'un sur l'autre, moi même j'ai emprunté des morceaux de TCL à d'autres. Comme toujours, si vous faites cela, respectez juste la politesse et la GPL: citez vos sources.
J'ai u soucis des le debut le tcl ne se charge pasjepense qu'il y a un ensemble de erreur des la ligne 5.Comme chacun sait ici quel est mon niveau je m retourne a vous pour comprendre mes erreur.Et pour l'info ce tcl je savais meme pas que ca existait jai coder ca en 2 jour en suivant les cours tcl en apliquant ce qu il disait et ce que moi j'ai cru en comprendre donc normal que ca ne fonctionne pas des le debut on est ps parfait :).donc jaimerais reussir a le faire fonctionner et pourquoi pas par la suite voir a l'ameliorer.Qui sait lavenir du p2p passera peut ere par irc (du moin pour les petit fichier). voila en esperant que vous pourrer m'aider
bonjour donc pas possibiliter d'etre aider ??? Et autre chose que jai moyenement aprecier c'est d'avoir ete mis entre toi dav34 et goo sur un autre forum.je vien de voir ca et je doit dire que je trouve pas ca top correcte moi je post uniquement ici et je ne sait meme pas qu'elle est votre different donc voila.japrieai d'etre aider du moi si c'est ible et si ela nevous derange pas.merciet bonne journee a vous
29/03/2008, 18:32 (Modification du message : 29/03/2008, 18:36 par CrazyCat.)
caline012 a écrit :bonjour donc pas possibiliter d'etre aider ???
Donne nous les erreurs (copie/colle) pour que l'on puisse voir le problème, et on pourra peut-être t'aider.
caline012 a écrit :Et autre chose que jai moyenement aprecier c'est d'avoir ete mis entre toi dav34 et goo sur un autre forum.je vien de voir ca et je doit dire que je trouve pas ca top correcte moi je post uniquement ici et je ne sait meme pas qu'elle est votre different donc voila.
Pardon? Si c'est à moi que tu t'adresses, je ne vois pas de quoi tu parles.
Pour en revenir au problème, la première erreur que je vois est qu'il manque un "}" à la fin, ce qui se verrait immédiatement avec une bonne indentation:
tcl
set commande(choix)"!"set sendfile_chans "#irc-pacifique"set sendfile_file "C:...."
bind pub - $commande(choix)sendfile pub:sendfile
proc pub:sendfile {nick uhost hand chan arg}{global sendfile_file sendfile_chans
if{([lsearch -exact [string tolower $sendfile_chans][string tolower $chan]]!= -1) || ($sendfile_chans == "*")}{switch -- [dccsend $sendfile_file$nick]{0{ putserv "NOTICE $nick : c good"}1{ putserv "NOTICE $nick :Erreur: merci de recommencer plus tard."}}}}
En mettant bien la dernière accolade, je n'ai aucune erreur au chargement.
Et mis à part que le tcl ne fait rien si les conditions ne sont pas remplies, il fonctionne "bien"
Ah oui merci crazycat (lol je croit lerreur est surtout du a que je doit consulter un opticien) c'est logique en fin de compte 3 ouvertures = 3 fermetures.cmme quoi on verifie jamais assez nos sources
Déjà, essayer !send alors que tu définis !sendfile comme commande, ça aide pas.
Ensuite, je ne suis pas certain que le fichier soit accessible, son nom comporte des caractères spéciaux (espace, \, :, .)
Et finalement, tu ne gères que 2 retours possibles de dccsend: 0 et 1 (soit réussite ou file complète). Tu as peut-être l'une des autres erreurs possibles qui arrive:
0 success
1 the dcc table is full (too many connections)
2 can't open a socket for the transfer
3 the file doesn't exist
4 the file was queued for later transfer, which means that person has too many file transfers going right now
5 copy-to-tmp is enabled and the file already exists in the temp directory
Dernier point: le fichier donné en exemple n'est pas un fichier libre de droit, c'est pour moi du piratage ou assimilé, je n'aiderais donc plus sur ce sujet.