modified: src/main.js
This commit is contained in:
parent
208321706f
commit
839186ad13
53
src/main.js
53
src/main.js
@ -10,6 +10,18 @@ var allowed = [
|
||||
'image/png', 'video/webm'
|
||||
];
|
||||
|
||||
var sql;
|
||||
function haDC() {
|
||||
sql = mysql.createConnection(cfg.mysql);
|
||||
sql.connect((err) => {
|
||||
if(err) setTimeout(haDC,2000);
|
||||
});
|
||||
sql.on('error', (err) => {
|
||||
if(err.code === 'PROTOCOL_CONNECTION_LOST') haDC();
|
||||
});
|
||||
}
|
||||
haDC();
|
||||
|
||||
cfg.server.forEach((e,i,a) => {
|
||||
bot.add({
|
||||
"name": e.name,
|
||||
@ -40,6 +52,7 @@ bot.on('message', (e) => {
|
||||
if(cb.status === true) {
|
||||
var tmp = getUser(e.user.getNick(), e.network);
|
||||
setTimeout(()=>{
|
||||
sql.query("insert into `f0ck`.`items` values (?,?,?,?,?,?,?)",url, "./b/"+path.parse(entry).base,tmp['username'],e.channel.getName(),new Date().getTime(),0);
|
||||
e.reply(cb.msg+" for "+tmp['nick']+" ("+tmp['username']+"@"+tmp['hostname']+")");
|
||||
}, 1600);
|
||||
}
|
||||
@ -55,7 +68,6 @@ bot.on('message', (e) => {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
var getUser = (u, n) => {
|
||||
bot.whois(u, n, (fn)=>{ }); // send whois
|
||||
var start = Date.now();
|
||||
@ -68,16 +80,21 @@ var dl = (url, dest, cb) => {
|
||||
var request = (url.match(/^https/)?https:http).get(url, (response) => {
|
||||
try {
|
||||
if(allowed.indexOf(response.headers['content-type']) != -1) {
|
||||
response.pipe(file);
|
||||
file.on('finish', () => {
|
||||
file.close();
|
||||
cb({'status':true, 'msg':'downloaded '+dest});
|
||||
});
|
||||
file.on('error', (err) => {
|
||||
fs.unlink(dest);
|
||||
file.close();
|
||||
cb({'status':false, 'msg':err.message});
|
||||
});
|
||||
if(checkRepost(url)) {
|
||||
response.pipe(file);
|
||||
file.on('finish', () => {
|
||||
file.close();
|
||||
cb({'status':true, 'msg':'downloaded '+dest});
|
||||
});
|
||||
file.on('error', (err) => {
|
||||
fs.unlink(dest);
|
||||
file.close();
|
||||
cb({'status':false, 'msg':err.message});
|
||||
});
|
||||
}
|
||||
else {
|
||||
cb({'status':false, 'msg':'repost motherf0cker'});
|
||||
}
|
||||
}
|
||||
else {
|
||||
cb({'status':false, 'msg':'f0ck you'});
|
||||
@ -87,4 +104,18 @@ var dl = (url, dest, cb) => {
|
||||
e.reply(ex);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var checkRepost = (url) => {
|
||||
var result = false;
|
||||
sql.query(
|
||||
"select count(*) as count from `f0ck`.`items` where `src` = ?", url, (err, rows, fields) => {
|
||||
result = (rows[0].count == 0)?true:false;
|
||||
console.log("1: "+result);
|
||||
}
|
||||
);
|
||||
var start = Date.now();
|
||||
while(Date.now() < start + 1000) {}
|
||||
console.log("2: "+result);
|
||||
return result;
|
||||
};
|
Loading…
Reference in New Issue
Block a user