Advertisement
Guest User

Untitled

a guest
Feb 12th, 2016
247
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'use strict'
  2. var tg = require('telegram-node-bot')('TOKEN')
  3. var req = require('tiny_request');
  4. var Twitter = require('twitter');
  5. var client = new Twitter({
  6.     consumer_key: 'KEY',
  7.     consumer_secret: 'KEY',
  8.     access_token_key: 'KEY',
  9.     access_token_secret: 'KEY'
  10. });
  11. var mysql = require('mysql')
  12. var connection = mysql.createConnection({
  13.     host: 'localhost',
  14.     user: 'login',
  15.     password: 'password'
  16. });
  17.  
  18. function twittActivity() {
  19.     client.get('/friends/list', {
  20.         screen_name: 'durov',
  21.         count: 200
  22.     }, function(error, tweet, response) {
  23.         // Raw response object.
  24.         var resp = JSON.parse(response.body)
  25.         var names = resp.users
  26.         var names2 = names.map(function(row) {
  27.             var qwe = row.screen_name
  28.  
  29.             connection.query("SELECT * FROM `bots`.`durov_twi` WHERE `username` = " + '"' + qwe + '"', function(err, rows, fields) {
  30.  
  31.                 var ids = rows.map(function(row) {
  32.                     return row.username
  33.                 })
  34.  
  35.                 if (ids != 0) {
  36.                     //console.log('Удачненько')
  37.                 } else {
  38.  
  39.                     connection.query("INSERT INTO `bots`.`durov_twi`(`username`) VALUES (" + connection.escape(qwe) + ")", function(err, rows, fields) {
  40.                         if (!err) {
  41.                             tg.sendMessage('@durov_feed', 'Подписался на http://twitter.com/' + qwe)
  42.                         } else {
  43.                             console.log(err)
  44.                         }
  45.                     })
  46.                 }
  47.             })
  48.  
  49.             return "'" + row.screen_name + "'"
  50.         })
  51.         connection.query("SELECT * FROM `bots`.`durov_twi` WHERE `username` != " + names2.join(" && `username` != "), function(err, rows, fields) {
  52.  
  53.             if (rows != -1) {
  54.                 var iids = rows.map(function(row) {
  55.                     var qaz = row.username
  56.                     return "'" + row.username + "'"
  57.                 })
  58.  
  59.                 if (iids != 0) {
  60.                     var qwer = rows.map(function(row) {
  61.                         var qaz = row.username
  62.  
  63.                         tg.sendMessage('@durov_feed', 'Отписался от http://twitter.com/' + qaz)
  64.                     })
  65.                     connection.query("DELETE FROM `bots`.`durov_twi` WHERE `username` = " + iids.join(" OR `username` ="), function(err, rows, fields) {
  66.  
  67.                     })
  68.                 }
  69.  
  70.             } else {
  71.                 console.log(err)
  72.             }
  73.         })
  74.  
  75.  
  76.     })
  77. }
  78.  
  79. function twittTweets() {
  80.     client.get('/statuses/user_timeline', {
  81.         screen_name: 'durov',
  82.         count: 200
  83.     }, function(error, tweet, response) {
  84.         var resp = JSON.parse(response.body)
  85.         var qwe = resp[0].id_str
  86.             //console.log(resp[0])
  87.         connection.query("SELECT * FROM `bots`.`tweets` WHERE `id` = " + qwe, function(err, rows, fields) {
  88.             //console.log(rows)
  89.             var ids = rows.map(function(row) {
  90.                     return row.username
  91.                 })
  92.                 //console.log(ids)
  93.             if (rows != 0) {
  94.                 //console.log('Баянчик')
  95.             } else {
  96.  
  97.                 connection.query("INSERT INTO `bots`.`tweets`(`id`) VALUES (" + connection.escape(qwe) + ")", function(err, rows, fields) {
  98.                     if (!err) {
  99.                         if (resp[0].retweeted_status != undefined) {
  100.                             tg.sendMessage('@durov_feed', '#twitter\r\nРетвитнул пользователя @' + resp[0].retweeted_status.user.screen_name + ': https://twitter.com/durov/status/' + resp[0].id_str)
  101.                         } else if (resp[0].quoted_status != undefined) {
  102.                             tg.sendMessage('@durov_feed', '#twitter\r\nПроцитировал пользователя @' + resp[0].quoted_status.user.screen_name + ': https://twitter.com/durov/status/' + resp[0].id_str)
  103.  
  104.                         } else if (resp[0].in_reply_to_screen_name != null) {
  105.                             tg.sendMessage('@durov_feed', '#twitter\r\nОтветил @' + resp[0].in_reply_to_screen_name + ': https://twitter.com/durov/status/' + resp[0].id_str)
  106.                         } else {
  107.                             tg.sendMessage('@durov_feed', '#twitter\r\nНовый твит: https://twitter.com/durov/status/' + resp[0].id_str)
  108.                         }
  109.                     } else {
  110.                         console.log(err)
  111.                     }
  112.                 })
  113.             }
  114.         })
  115.  
  116.     })
  117.  
  118. }
  119.  
  120. function twittLikes() {
  121.     client.get('/favorites/list', {
  122.         screen_name: 'durov',
  123.         count: 200
  124.     }, function(error, tweet, response) {
  125.         var resp = JSON.parse(response.body)
  126.         var qwe = resp[0].id_str
  127.         connection.query("SELECT * FROM `bots`.`tweets` WHERE `id` = " + qwe, function(err, rows, fields) {
  128.             //console.log(rows)
  129.             var ids = rows.map(function(row) {
  130.                     return row.username
  131.                 })
  132.                 //console.log(ids)
  133.             if (rows != 0) {
  134.                 //console.log('Баянчик')
  135.             } else {
  136.  
  137.                 connection.query("INSERT INTO `bots`.`tweets`(`id`) VALUES (" + connection.escape(qwe) + ")", function(err, rows, fields) {
  138.                     if (!err) {
  139.  
  140.                         tg.sendMessage('@durov_feed', '#twitter\r\nЛайкнул твит пользователя @' + resp[0].user.screen_name + ': https://twitter.com/' + resp[0].user.screen_name + '/status/' + resp[0].id_str)
  141.                     } else {
  142.                         console.log(err)
  143.                     }
  144.                 })
  145.             }
  146.         })
  147.  
  148.     })
  149. }
  150.  
  151. function vkActivity() {
  152.  
  153.     var params = {
  154.         url: 'https://api.vk.com/method/wall.get',
  155.  
  156.         query: {
  157.             owner_id: '-51661280',
  158.             v: '5.44'
  159.         }
  160.     }
  161.     req.get(params, function(body, response, err) {
  162.         if (!err && response.statusCode == 200) {
  163.             var data = JSON.parse(body)
  164.                 //data2 = JSON.parse(body)
  165.             var id = data.response.items[0].id
  166.             var text = data.response.items[0].text
  167.             var link = '#vk\r\n' + text + '\r\nhttp://vk.com/wall-51661280_' + id
  168.             connection.query("SELECT * FROM `bots`.`vk` WHERE `id` = " + id, function(err, rows, fields) {
  169.                 //console.log(rows)
  170.                 var ids = rows.map(function(row) {
  171.                         return row.username
  172.                     })
  173.                     //console.log(ids)
  174.                 if (rows != 0) {
  175.                     //console.log('Баянчик')
  176.                 } else {
  177.  
  178.                     connection.query("INSERT INTO `bots`.`vk`(`id`) VALUES (" + connection.escape(id) + ")", function(err, rows, fields) {
  179.                         if (!err) {
  180.  
  181.                             tg.sendMessage('@durov_feed', link)
  182.                         } else {
  183.                             console.log(err)
  184.                         }
  185.                     })
  186.                 }
  187.             })
  188.  
  189.         }
  190.     })
  191.  
  192.  
  193. }
  194.  
  195. function instaPost() {
  196.  
  197.     var params = {
  198.         url: 'https://api.instagram.com/v1/users/4663052/media/recent',
  199.  
  200.         query: {
  201.             access_token: 'TOKEN'
  202.         }
  203.     }
  204.     req.get(params, function(body, response, err) {
  205.         if (!err && response.statusCode == 200) {
  206.             var data = JSON.parse(body)
  207.                 //data2 = JSON.parse(body)
  208.             var link = data.data[0].link
  209.             var channel = '@iprxy_ch'
  210.             connection.query("SELECT * FROM `bots`.`ig` WHERE `id` = " + "'" + link + "'", function(err, rows, fields) {
  211.                 //console.log(rows)
  212.                 var ids = rows.map(function(row) {
  213.                         return row.username
  214.                     })
  215.                     //console.log(ids)
  216.                 if (rows != 0) {
  217.                     //console.log('Баянчик')
  218.                 } else {
  219.  
  220.                     connection.query("INSERT INTO `bots`.`ig`(`id`) VALUES (" + connection.escape(link) + ")", function(err, rows, fields) {
  221.                         if (!err) {
  222.  
  223.                             tg.sendMessage('@durov_feed', '#Instagram\r\nНовая публикация: ' + link)
  224.                         } else {
  225.                             console.log(err)
  226.                         }
  227.                     })
  228.                 }
  229.             })
  230.  
  231.         }
  232.     })
  233.     var params = {
  234.         url: 'https://api.instagram.com/v1/users/4663052',
  235.  
  236.         query: {
  237.             access_token: 'TOKEN'
  238.         }
  239.     }
  240.  
  241.  
  242. }
  243.  
  244. function instaUpdates() {
  245.  
  246.     var params = {
  247.         url: 'https://api.instagram.com/v1/users/4663052',
  248.  
  249.         query: {
  250.             access_token: 'TOKEN'
  251.         }
  252.     }
  253.     req.get(params, function(body, response, err) {
  254.         if (!err && response.statusCode == 200) {
  255.  
  256.             var data = JSON.parse(body)
  257.  
  258.             var bio = data.data.bio
  259.             var userpic = data.data.profile_picture
  260.             console.log(bio)
  261.             console.log(userpic)
  262.             connection.query("SELECT * FROM `bots`.`bio` WHERE `id` = " + connection.escape(bio), function(err, rows, fields) {
  263.                 //console.log(rows)
  264.                 var ids = rows.map(function(row) {
  265.                         return row.username
  266.                     })
  267.                     //console.log(ids)
  268.                 if (rows != -1) {
  269.                     //console.log('Баянчик')
  270.                 } else {
  271.  
  272.                     connection.query("INSERT INTO `bots`.`bio`(`id`) VALUES (" + connection.escape(bio) + ")", function(err, rows, fields) {
  273.                         if (!err) {
  274.  
  275.                             tg.sendMessage('@durov_feed', '#Instagram\r\nОбновил информацию о себе: ' + bio)
  276.                         } else {
  277.                             //console.log(err)
  278.                         }
  279.                     })
  280.                 }
  281.             })
  282.             connection.query("SELECT * FROM `bots`.`pic` WHERE `id` = " + connection.escape(userpic), function(err, rows, fields) {
  283.                 //console.log(rows)
  284.                 var ids = rows.map(function(row) {
  285.                         return row.username
  286.                     })
  287.                     //console.log(ids)
  288.                 if (rows != -1) {
  289.                     //console.log('Баянчик')
  290.                 } else {
  291.  
  292.                     connection.query("INSERT INTO `bots`.`pic`(`id`) VALUES (" + connection.escape(userpic) + ")", function(err, rows, fields) {
  293.                         if (!err) {
  294.  
  295.                             tg.sendMessage('@durov_feed', '#Instagram\r\nОбновил фотографию профиля: ' + userpic)
  296.                         } else {
  297.                             //console.log(err)
  298.                         }
  299.                     })
  300.                 }
  301.             })
  302.  
  303.         }
  304.     })
  305.  
  306.  
  307. }
  308.  
  309.  
  310. function instaActivity() {
  311.     var params = {
  312.         url: 'https://api.instagram.com/v1/users/4663052/follows',
  313.         query: {
  314.             access_token: 'TOKEN'
  315.         }
  316.     }
  317.     req.get(params, function(body, response, err) {
  318.         if (!err && response.statusCode == 200) {
  319.             var data = JSON.parse(body)
  320.             var link1 = data.data
  321.             var next_url = data.pagination.next_url
  322.             var names = link1.map(function(row) {
  323.                 return "'" + row.username + "'"
  324.             })
  325.             if (data.pagination = undefined) {
  326.                 //console.log('chlen')
  327.             } else {
  328.                 var params2 = {
  329.                     url: next_url,
  330.                 }
  331.                 req.get(params2, function(body, response, err) {
  332.                     if (!err && response.statusCode == 200) {
  333.                         var data2 = JSON.parse(body)
  334.                         var link2 = data2.data
  335.                         var names2 = link2.map(function(row) {
  336.                             return "'" + row.username + "'"
  337.                         })
  338.                         var link3 = link1.concat(link2)
  339.                         var names3 = names.join(" && `username` != ") + " && `username` != " + names2.join(" && `username` = ")
  340.                         var names4 = link3.map(function(row) {
  341.                             var qwe = row.username
  342.                             connection.query("SELECT * FROM `bots`.`durov_inst` WHERE `username` = " + '"' + qwe + '"', function(err, rows, fields) {
  343.                                 //console.log(rows)
  344.                                 var ids = rows.map(function(row) {
  345.                                     return row.username
  346.                                 })
  347.  
  348.                                 if (ids != 0) {
  349.                                     //console.log('Удачненько')
  350.                                 } else {
  351.  
  352.                                     connection.query("INSERT INTO `bots`.`durov_inst`(`username`) VALUES (" + connection.escape(qwe) + ")", function(err, rows, fields) {
  353.                                         if (!err) {
  354.                                             tg.sendMessage('@durov_feed', 'Подписался на http://instagram.com/' + qwe)
  355.                                         } else {
  356.                                             $.sendMessage(err)
  357.                                         }
  358.                                     })
  359.                                 }
  360.                             })
  361.                             return "'" + row.username + "'"
  362.                         })
  363.                         connection.query("SELECT * FROM `bots`.`durov_inst` WHERE `username` != " + names4.join(" && `username` != "), function(err, rows, fields) {
  364.                             //console.log(names)
  365.                             if (rows != -1) {
  366.                                 var iids = rows.map(function(row) {
  367.                                     var qaz = row.username
  368.                                     return "'" + row.username + "'"
  369.                                 })
  370.  
  371.                                 if (iids != 0) {
  372.                                     var qwer = rows.map(function(row) {
  373.                                         var qaz = row.username
  374.  
  375.                                         tg.sendMessage('@durov_feed', 'Отписался от http://instagram.com/' + qaz)
  376.                                     })
  377.                                     connection.query("DELETE FROM `bots`.`durov_inst` WHERE `username` = " + iids.join(" OR `username` ="), function(err, rows, fields) {
  378.                                         //console.log(iids)
  379.                                         //console.log(rows)
  380.                                     })
  381.                                 }
  382.  
  383.                             } else {
  384.                                 console.log(err)
  385.                             }
  386.                         })
  387.                     }
  388.                 })
  389.             }
  390.         }
  391.     })
  392.  
  393. }
  394. setInterval(twittActivity, 600000)
  395. setInterval(twittLikes, 600000)
  396. setInterval(twittTweets, 60000)
  397. setInterval(vkActivity, 60000)
  398. setInterval(instaPost, 120000)
  399. setInterval(instaUpdates, 120000)
  400. setInterval(instaActivity, 120000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement