however it's more or less in two parts and unfortunatly one doesn't work so well without the other... the two parts are the actual dccsend command /w trigger the other is a directory list procedure that calls and makes a list of the files in the set directory, so you may use the dccsend trigger to get a desired file.
here is the script, and it does work:
Code: Select all
set filesdir "e:/windrop1/grincheg/windrop/tmp"
bind pub - get pub:get
proc pub:get {nick uhost hand chan file} {
global filesdir
if {$file != ""} {
switch -- [dccsend $filesdir/$file $nick] {
0 {
puthelp "NOTICE $nick :sending $file to you."
dccsend $file $nick
}
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." }
}
} else { puthelp "NOTICE $nick :get <file> or getlist" }
}
bind pub - getlist pub:getlist
proc pub:getlist {nick uhost handle chan arg} {
global filesdir
if {$arg != ""} { set cdir $filesdir/$arg } else { set cdir $filesdir }
set tdir [pwd]
cd $cdir
foreach fil "[glob *]" {
if {[file isdirectory $fil]} { puthelp "NOTICE $nick :$arg/$fil" }
if {[file isfile $fil]} { puthelp "NOTICE $nick :$arg/$fil (size: [file size $fil] bytes)" }
}
puthelp "NOTICE $nick :end of getlist!"
cd $tdir
}
please, if anyone can help feel free to jump right in!
thanks in advance