Skip to content

Instantly share code, notes, and snippets.

@bmeck
Created May 27, 2011 17:40
Show Gist options
  • Save bmeck/995752 to your computer and use it in GitHub Desktop.
Save bmeck/995752 to your computer and use it in GitHub Desktop.
var net = require('net')
// , listener = net.createServer()
, irc = require('irc')
, sys = require('sys')
, dns = require('dns')
, Buffer = require('buffer').Buffer
client = new irc.Client(
'irc.freenode.net'
, 'nodedcc'
, {channels: ['#node.js.bots']}
)
irc.Client.prototype.sendFile = function(to,filename,length,stream,port) {
var client = this
var tosend = 'DCC SEND '+filename+' '
var ip='10.1.6.31'.split('.').map(function(item){
return String.fromCharCode(Number(item))
}).join('').replace(/\\/g,'\\\\').replace(/\n/g,'\\n').replace(/\r/g,'\\r').replace(/\u0000/g,'\\0')
tosend+=ip+' '+port+' '+length
sys.puts(tosend)
this.say(to,'\u0001'+tosend+'\u0001')
var listener = net.createServer(function(socket){
var recieved=0
, buffer
socket.addListener('data',function(data){
var recieved=(data[0]<<24)+(data[1]<<16)+(data[2]<<8)+(data[3])
sent+=recieved
if(sent>=length) socket.end()
})
if(typeof stream === 'string') socket.write(stream)
else {
stream.addListener('data',function(){
})
}
}).listen(port)
}
client.addListener('join',function(){
client.sendFile('bradleymeck','test.txt',5,'HELLO',8888)
})
client.addListener('message',function(){
sys.puts(sys.inspect(arguments))
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment