Advertisement
Guest User

Untitled

a guest
Jun 14th, 2017
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.45 KB | None | 0 0
  1. const SteamUser = require('steam-user');
  2. const TradeOfferManager = require('steam-tradeoffer-manager');
  3. const SteamTotp = require('steam-totp');
  4. const SteamCommunity = require('steamcommunity');
  5. const config = require('./config.json');
  6. const change = require('./functions.js')
  7. const csv = require('csv');
  8. const winston = require('winston');
  9.  
  10. const community = new SteamCommunity();
  11. const client = new SteamUser();
  12. const manager = new TradeOfferManager({
  13. steam: client,
  14. domain: 'example.com',
  15. language: 'en'
  16. });
  17.  
  18.  
  19.  
  20.  
  21. winston.add(winston.transports.File, {
  22. filename: 'somefile.log'
  23. });
  24. winston.remove(winston.transports.Console);
  25.  
  26.  
  27.  
  28. const logOnOptions = {
  29. accountName: config.username,
  30. password: config.password,
  31. twoFactorCode: SteamTotp.generateAuthCode(config.sharedSecret)
  32. };
  33. //log on
  34. client.logOn(logOnOptions);
  35.  
  36. client.on('loggedOn', function(details) {
  37. console.log(`Logged into Steam as ${client.steamID.getSteam3RenderedID()}`); //online then play tf2
  38. client.setPersona(SteamUser.Steam.EPersonaState.Online);
  39. client.gamesPlayed([440])
  40. });
  41.  
  42. client.on('webSession', function(sessionID, cookies) {
  43. manager.setCookies(cookies, function(err) {
  44. if (err) return console.log(err);
  45. console.log(`Got API key: ${manager.apiKey}`);
  46. });
  47.  
  48. community.setCookies(cookies);
  49. community.startConfirmationChecker(10000, config.identitySecret);
  50. });
  51.  
  52. function GetChange (price, RefRequired, RecRequired, ScrapRequired, Refined, Reclaimed, Scrap, metal){
  53. var change = 0;
  54. var ThereMetalToAdd = 0;
  55.  
  56. if (metal > price) { //if they have enough calculate change
  57. if (Scrap < ScrapRequired) { //by seeing if scrap is under scrap required if it is add a rec to the rec required variable minus 3 from scrap and add the absouloute to the change var
  58. RecRequired = RecRequired + 3; //then 0 out scrap required
  59. ScrapRequired = ScrapRequired - 3;
  60. change = change + Math.abs(ScrapRequired);
  61. ScrapRequired = 0;
  62. }
  63.  
  64. if (Reclaimed < RecRequired) { //same here as scrap
  65. RefRequired = RefRequired + 9;
  66. RecRequired = RecRequired - 9;
  67. change = change + Math.abs(RecRequired);
  68. RecRequired = 0;
  69. }
  70. totalMetal = RefRequired + RecRequired + ScrapRequired
  71. return {
  72. change: change
  73. totalMetal: totalMetal
  74. };
  75. }else{
  76. return "badtrade";
  77. }
  78. }
  79.  
  80. function requiredMetal(price2){
  81. //get required metal
  82. var RefRequired = 0;
  83. var RecRequired = 0;
  84. var ScrapRequired = 0;
  85.  
  86. while (price2 >= 9) { //getting req metal here by seeing if price is over a certain vaule if it is then add to a required var and minus that number from price
  87. RefRequired = RefRequired + 9;
  88. price2 = price2 - 9;
  89. }
  90.  
  91. while (price2 >= 3) {
  92. RecRequired = RecRequired + 3;
  93. price2 = price2 - 3;
  94. }
  95.  
  96. while (price2 >= 1) {
  97. ScrapRequired++
  98. price2 = price2 - 1;
  99. }
  100. return {
  101. RefRequired: RefRequired,
  102. RecRequired: RecRequired,
  103. ScrapRequired: ScrapRequired
  104. };
  105. }
  106.  
  107.  
  108.  
  109.  
  110. function canAfford(inv) {
  111.  
  112. var metal = 0;
  113. var Refined = 0;
  114. var Reclaimed = 0;
  115. var Scrap = 0;
  116.  
  117.  
  118. for (let i = 0; i < inv.length; i++) { //getting all metal in bp and vaules for diffrent metals
  119. if (inv[i].market_hash_name.includes('Refined Metal')) { //metal = all scrap,rec and ref combined
  120. metal = metal + 9;
  121. Refined = Refined + 9;
  122. } else {
  123. if (inv[i].market_hash_name.includes('Reclaimed Metal')) {
  124. metal = metal + 3;
  125. Reclaimed = Reclaimed + 3;
  126. } else {
  127. if (inv[i].market_hash_name.includes('Scrap Metal')) {
  128. metal = metal + 1;
  129. Scrap = scrap+1;
  130. }
  131. }
  132. }
  133. }
  134. return {
  135. Refined: Refined,
  136. Reclaimed: Reclaimed,
  137. Scrap: Scrap,
  138. metal: metal
  139. };
  140. }
  141.  
  142.  
  143.  
  144.  
  145. client.on('friendRelationship', (steamID, relationship) => { //freind requests
  146. if (relationship == 2) {
  147. client.addFriend(steamID);
  148. client.chatMessage(steamID, config.chat.welcomeMessage);
  149. }
  150. });
  151.  
  152. client.on('friendMessage', (steamID, message) => { //freind messgaes
  153. if (message.startsWith("!buy cs")) {
  154. var csAmount = parseInt(message.split("!buy cs")[1]);
  155. if (isNaN(csAmount)) { //calculating required keys
  156. csAmount = 1;
  157. }
  158.  
  159. var offer = manager.createOffer(steamID); //create offer
  160. client.chatMessage(steamID, "Creating your offer now");
  161. var refamount = csAmount * config.buyref;
  162. var price2 = csAmount * config.buyref2;
  163. var price = csAmount * config.buyref2;
  164. //calculating required refined metal
  165.  
  166. //trade stuff starts here
  167. manager.getUserInventoryContents(steamID, 440, 2, true, (err, inv) => { //loading there invent
  168. if (err) {
  169. console.log(err.message);
  170. return;
  171. }
  172.  
  173. manager.getInventoryContents(440, 2, true, (err, ourInv) => { //loading there invent
  174. if (err) {
  175. console.log(err.message);
  176. return;
  177. }
  178.  
  179. console.log(Scrap);
  180.  
  181. var metal = requiredMetal(price2); //getting the required metal from the price
  182. var RefRequired = metal.RefRequired;
  183. var RecRequired = metal.RecRequired;
  184. var ScrapRequired = metal.ScrapRequired;
  185.  
  186. var ActualMetal = canAfford(inv); //getting there metal
  187. var Refined = ActualMetal.Refined;
  188. var Reclaimed = ActualMetal.Reclaimed;
  189. var Scrap = ActualMetal.Scrap;
  190. var metal = ActualMetal.metal;
  191.  
  192. var MetalToAdd = GetChange (price, RefRequired, RecRequired, ScrapRequired, Refined, Reclaimed, Scrap, metal);
  193. var change = MetalToAdd.change;
  194. var totalMetal = MetalToAdd.totalMetal;
  195.  
  196. console.log(change);
  197. console.log(totalMetal);
  198.  
  199.  
  200. });
  201. });
  202. }
  203. RefToAdd = [];
  204. KeysToAdd = [];
  205. ThereMetalToAdd = [];
  206. ChangeToAdd = [];
  207. totalMetal = 0;
  208. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement