Advertisement
Guest User

trade

a guest
Sep 9th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.20 KB | None | 0 0
  1. var Winston = require('winston');
  2. var express = require('express');
  3. var fs = require('fs');
  4. var app = require('http').createServer(handler);
  5. var io = require('socket.io')(app);
  6. var steamUserInventory = require('steam-user-inventory');
  7. var mysql = require('mysql');
  8. var request = require('request');
  9.  
  10.  
  11. app.listen(8090);
  12. var url = "http://steamcommunity.com/inventory/76561198079381122/433850/1?l=english&count=5000";
  13. var pool = mysql.createPool({
  14. connectionLimit : 10,
  15. database: 'trade',
  16. host: 'localhost',
  17. user: 'root',
  18. password: 'fncjpfncjpdu86'
  19. });
  20.  
  21. function handler (req, res) {
  22. fs.readFile(__dirname + '/index.html',
  23. function (err, data) {
  24. if (err) {
  25. res.writeHead(500);
  26. return res.end('Error loading index.html');
  27. }
  28.  
  29. res.writeHead(200);
  30. res.end(data);
  31. });
  32. }
  33.  
  34.  
  35.  
  36. var app = express();
  37.  
  38.  
  39. var items;
  40. var h1z1;
  41. var test;
  42. var table = [];
  43.  
  44. fs.readdir("items/", function(err, filenames) {
  45. if (err) {
  46. onError(err);
  47. return;
  48. }
  49. filenames.forEach(function(filename) {
  50. fs.readFile("items/" + filename, 'utf-8', function(err, content) {
  51. if (err) {
  52. onError(err);
  53. return;
  54. }
  55.  
  56. var items = JSON.parse(content);
  57. for (var i = 0; i < items.length; ++i) {
  58. table.push(items[i]);
  59. }
  60. });
  61. });
  62. });
  63.  
  64.  
  65. var h1z1prices;
  66. fs.readFile("price/H1Z1-price.json", 'utf-8', function (err, content) {
  67. if (err) {
  68. return console.log(err);
  69. }
  70. h1z1prices = JSON.parse(content);
  71. });
  72.  
  73. function loadUserInventory (hash, socket){
  74. query('SELECT steamID, update_time FROM users WHERE hash = "' + hash +'";', function (err, res) {
  75. if(err) {
  76. console.log(err);
  77. } else {
  78. var time = res[0].update_time;
  79. var after = Date.now();
  80. var verif = after - time;
  81. var steamID = res[0].steamID;
  82. // 60 * 10 * 1000
  83. if(verif > 600){
  84. query('UPDATE users SET update_time = "' + Date.now() + '" WHERE hash = "' + hash +'";', function (err, res1) {
  85. if (err) {
  86. console.log(err)
  87. } else {
  88. console.log(steamID);
  89. steamUserInventory(steamID, '433850/1').then(dataSU => {
  90. query('DELETE FROM users_items WHERE id_user = "' + steamID +'";', function (err, re) {
  91. if (err) {
  92. console.log(err)
  93. } else {
  94. for (var j in dataSU){
  95. query('INSERT INTO users_items (`appid`, `category`, `classid`, `exterior`, `id`, `image`, `instanceid`, `link`, `marketTradableRestriction`, `marketable`, `name`, `pos`, `commodity`, `description`, `icon_url`, `icon_url_large`, `market_hash_name`, `market_name`, `tag`, `tradable`, `type`, `id_user`) VALUES (' + dataSU[j].appid + ', "' + dataSU[j].category + '", ' + dataSU[j].classid + ', "' + dataSU[j].exterior + '", ' + dataSU[j].id + ', "' + dataSU[j].image + '", ' + dataSU[j].instanceid + ', "' + dataSU[j].link + '", "' + dataSU[j].marketTradableRestriction + '", ' + dataSU[j].marketable + ', "' + dataSU[j].name + '", "' + dataSU[j].pos + '", "' + dataSU[j].commodity + '", "' + dataSU[j].description + '", "' + dataSU[j].icon_url + '", "' + dataSU[j].icon_url_large + '", "' + dataSU[j].market_hash_name + '", "' + dataSU[j].market_name + '", "' + dataSU[j].tag + '", ' + dataSU[j].tradable + ', "' + dataSU[j].type + '", "' + steamID + '" );', function (err, resultat) {
  96. if (err){
  97. console.log(err)
  98. }
  99. });
  100. }
  101. }
  102. });
  103. socket.emit('inv user', {inv: dataSU})
  104. });
  105. }
  106. });
  107. } else {
  108. console.log('else')
  109. }
  110. }
  111. });
  112. }
  113.  
  114.  
  115.  
  116. io.on('connection', function (socket) {
  117. console.log("New connection !!");
  118. socket.emit('inventory', {result: table});
  119. socket.emit('h1z1json', { prices: h1z1prices });
  120.  
  121.  
  122. socket.on('load user', function (data) {
  123. console.log(data.client);
  124. // loadUserInventory(data.client, socket)
  125. request(url , function (error, res, body) {
  126. if (!error && res.statusCode === 200) {
  127. // console.log(body) // Print the json response
  128. var data = JSON.parse(body);
  129. // console.log(data.descriptions);
  130. var desc = data.descriptions;
  131. var assets = data.assets;
  132. var response = [];
  133.  
  134. Object.keys(assets).forEach(key => {
  135. var temp = assets[key];
  136. var i;
  137. Object.keys(desc).forEach(key => {
  138. var temp2 = desc[key];
  139. if (temp.classid == temp2.classid){
  140. i = key;
  141. }
  142. });
  143.  
  144. let item = desc[i];
  145. // console.log(temp);
  146. // console.log(desc);
  147. let data = {
  148. id: temp.id,
  149. amount: temp.amount,
  150. pos: temp.pos,
  151. name: item.name,
  152. appid: item.appid,
  153. classid: item.classid,
  154. instanceid: item.instanceid,
  155. tradable: item.tradable,
  156. marketable: item.marketable,
  157. marketTradableRestriction: item.market_tradable_restriction,
  158. link: item.actions ? item.actions[0].link : null,
  159. image: `http://steamcommunity-a.akamaihd.net/economy/image/${item.icon_url_large || item.icon_url}`,
  160. category: null,
  161. type: null,
  162. exterior: null,
  163. quality: null,
  164. raw: item,
  165. };
  166.  
  167. response.push(data);
  168. });
  169. socket.emit('inv user', {inv: response})
  170. }
  171. });
  172.  
  173.  
  174. });
  175. });
  176.  
  177.  
  178. function query(sql, callback) {
  179. if (typeof callback === 'undefined') {
  180. callback = function() {};
  181. }
  182. pool.getConnection(function(err, connection) {
  183. if(err) return callback(err);
  184. // console.log('DB connection ID: '+connection.threadId);
  185. connection.query(sql, function(err, rows) {
  186. if(err) return callback(err);
  187. connection.release();
  188. return callback(null, rows);
  189. });
  190. });
  191. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement