Advertisement
Guest User

Untitled

a guest
Oct 8th, 2017
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.54 KB | None | 0 0
  1. var Steam = require("steam");
  2. var SteamUser = require ("steam-user");
  3. var client = new SteamUser();
  4. var SteamTotp = require('steam-totp');
  5.  
  6. var friends = new Steam.SteamFriends(client.client);
  7.  
  8. var SteamCommunity = require('steamcommunity');
  9. var community = new SteamCommunity();
  10.  
  11. var client;
  12.  
  13. var TradeOfferManager = require('steam-tradeoffer-manager');
  14. var fs = require('fs');
  15. var request = require('request');
  16.  
  17. var SteamTrade = require("steam-trade");
  18. var steamTrade = new SteamTrade();
  19.  
  20. var adminid = '' //Admins Steam id
  21.  
  22. var manager = new TradeOfferManager({
  23. "steam": client,
  24. "domain": "example.com",
  25. "language": "en"
  26. });
  27.  
  28. client.logOn({
  29. accountName: '',
  30. password: '',
  31. twoFactorCode: SteamTotp.generateAuthCode('')
  32. });
  33.  
  34.  
  35. client.on("loggedOn", function(details){
  36. console.log("Logged into Steam as " + client.steamID.getSteam3RenderedID());
  37. client.setPersona(SteamUser.Steam.EPersonaState.Online, "Bot Name");
  38. });
  39.  
  40. client.on('error', function (e) {
  41. console.log('ERROR: ' + e);
  42. });
  43.  
  44. client.on('webSession', function (sessionID, cookies) {
  45. manager.setCookies(cookies, function (err) {
  46. if (err) {
  47. console.log(err);
  48. process.exit(1);
  49. return;
  50. }
  51. });
  52. community.setCookies(cookies);
  53. community.chatLogon();
  54. community.startConfirmationChecker(10000, '');
  55. });
  56.  
  57. manager.on('newOffer', function (offer) {
  58. console.log("New offer #" + offer.id + " from " + offer.partner.getSteamID64() + " - itemsToGive: " + offer.itemsToGive.length + " - itemsToReceive: " + offer.itemsToReceive.length);
  59. console.log("Note: " + offer.message);
  60.  
  61. if (offer.partner.getSteamID64() == adminid) {
  62. offer.accept();
  63. community.checkConfirmations();
  64. } else {
  65. offer.getUserDetails(function (err, me, them) {
  66. if (err) {
  67. console.log(err.message);
  68. } else {
  69. if (them.escrowDays > 0) {
  70. offer.decline();
  71. client.chatMessage(offer.partner.getSteamID64(), "You have " + them.escrowDays + " escrow days left, please try again later.");
  72. } else {
  73.  
  74. if (offer.itemsToReceive.length > 0 && offer.itemsToGive.length == 0) {
  75. offer.accept();
  76. } else {
  77. offer.decline();
  78. }
  79. }
  80. }
  81. });
  82. }
  83. });
  84.  
  85. manager.on('receivedOfferChanged', function (offer, oldState) {
  86. console.log(`Offer #${offer.id} changed: ${TradeOfferManager.ETradeOfferState[oldState]} -> ${TradeOfferManager.ETradeOfferState[offer.state]}`);
  87. if (offer.state == TradeOfferManager.ETradeOfferState.Accepted) {
  88. offer.getReceivedItems(function (err, items) {
  89. if (err) {
  90. console.log("Couldn't get received items: " + err);
  91. } else {
  92. var names = items.map(function (item) {
  93. return item.name;
  94. });
  95. console.log("Received from " + offer.partner.getSteamID64() + ": " + names.join(', '));
  96. }
  97. });
  98. }
  99. });
  100.  
  101. client.on('newItems', function (count) {
  102. console.log(count + " new items in our inventory");
  103. });
  104.  
  105. client.on('friendRelationship', (steamid, relationship) => {
  106. if (relationship === 2) {
  107. client.addFriend(steamid);
  108. console.log('Added ' + steamid  + ' to friendlist');
  109. client.chatMessage(steamid, 'Hello there, I\'m a SnaBe\'s Demo Bot and your new friend. I can\'t do much at the moment, so I apologise. ');
  110. console.log('Sent welcome message too ' + steamid);
  111. commentOnUserProfile(offer.partner.getSteamID64(), "Thank you for buying from us");
  112. }
  113. });
  114.  
  115. friends.on("friendMsg", function(steamid, msg, type){
  116. if(type == Steam.EChatEntryType.ChatMsg){
  117. if(msg.indexOf("!trade") > -1){
  118. friends.sendMessage(steamid,"" + trade + "");
  119. console.log("Chat message from " + steamid  + " saying: " + msg);
  120. }
  121. }
  122. })
  123.  
  124. //Disabled, only used for testing
  125. client.on("tradeRequest", function(steamid, respond){
  126. console.log("Incoming trade request from " + steamid + ": Respond true");
  127. respond(true);
  128. })
  129.  
  130. client.on("tradeStarted", function(steamid){
  131. steamTrade.open(steamid);
  132. console.log("Successfully opened trade with " + steamid)
  133. })
  134.  
  135. steamTrade.on("ready", function(steamid) {
  136. steamTrade.ready(function(steamid) {
  137. console.log("User" + steamid + "is ready");
  138. steamTrade.confirm();
  139. console.log("Confirming the trade with user" + steamid + "");
  140. })
  141. })
  142.  
  143. steamTrade.on('unready',function() {
  144. steamTrade.unready(function() {
  145. console.log("User" + steamid + "clicked unready");
  146. })
  147. })
  148.  
  149. //Still testing withdraw/adding items
  150. steamTrade.on("chatMsg", function(steamid, msg) {
  151. if (msg == '/tf2' && "76561198089922529") {
  152. console.log("Withdrawing TF2 items!");
  153. steamTrade.loadInventory(440,2, function(items){
  154. steamTrade.addItems(items);
  155. })
  156. }
  157. })
  158.  
  159. //Still testing withdraw/adding items
  160. steamTrade.on("chatMsg", function(msg) {
  161. if(msg == "!withdrawCSGO" && "76561198089922529") {
  162. console.log("Withdrawing CSGO items!");
  163. steamTrade.loadInventory(730,2, function(items){
  164. steamTrade.addItems(items);
  165. })
  166. }
  167. })
  168.  
  169. //Still testing withdraw/adding items
  170. steamTrade.on("chatMsg", function(msg) {
  171. if(msg == "!withdrawSTEAM" && "76561198089922529") {
  172. console.log("Withdrawing Steam items!");
  173. steamTrade.loadInventory(753,2, function(items){
  174. steamTrade.addItems(items);
  175. })
  176. }
  177. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement