Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var Steam = require("steam");
- var SteamUser = require ("steam-user");
- var client = new SteamUser();
- var SteamTotp = require('steam-totp');
- var friends = new Steam.SteamFriends(client.client);
- var SteamCommunity = require('steamcommunity');
- var community = new SteamCommunity();
- var client;
- var TradeOfferManager = require('steam-tradeoffer-manager');
- var fs = require('fs');
- var request = require('request');
- var SteamTrade = require("steam-trade");
- var steamTrade = new SteamTrade();
- var adminid = '' //Admins Steam id
- var botid = '1'; //The ID of the bot..
- var manager = new TradeOfferManager({
- "steam": client,
- "domain": "example.com",
- "language": "en"
- });
- client.logOn({
- accountName: '',
- password: '',
- twoFactorCode: SteamTotp.generateAuthCode('shared')
- });
- client.on("loggedOn", function(details){
- console.log("Logged into Steam as " + client.steamID.getSteam3RenderedID());
- client.setPersona(SteamUser.Steam.EPersonaState.Online, "Nitro");
- client.gamesPlayed("Currently accepting donations!", 730);
- });
- client.on('error', function (e) {
- console.log('ERROR: ' + e);
- });
- adminid = '76561198236904474';
- client.on('webSession', function (sessionID, cookies) {
- manager.setCookies(cookies, function (err) {
- if (err) {
- console.log(err);
- process.exit(1);
- return;
- }
- });
- community.setCookies(cookies);
- community.chatLogon();
- community.startConfirmationChecker(10000, 'insecret');
- });
- manager.on('newOffer', function (offer) {
- console.log("New offer #" + offer.id + " from " + offer.partner.getSteamID64() + " - itemsToGive: " + offer.itemsToGive.length + " - itemsToReceive: " + offer.itemsToReceive.length);
- console.log("Note: " + offer.message);
- if (offer.partner.getSteamID64() == adminid) {
- offer.accept();
- community.checkConfirmations();
- } else {
- offer.getUserDetails(function (err, me, them) {
- if (err) {
- console.log(err.message);
- } else {
- if (them.escrowDays > 0) {
- offer.decline();
- client.chatMessage(offer.partner.getSteamID64(), "You have " + them.escrowDays + " escrow days left, please try again later.");
- } else {
- if (offer.itemsToReceive.length > 0 && offer.itemsToGive.length == 0) {
- offer.accept();
- } else {
- offer.decline();
- }
- }
- }
- });
- }
- });
- //When a steam offer is recieved the bot will store the id and user, if the offer is a donation the bot will accept it, otherwise decline it.
- manager.on('receivedOfferChanged', function (offer, oldState) {
- //console.log(Offer #${offer.id} changed: ${TradeOfferManager.ETradeOfferState[oldState]} -> ${TradeOfferManager.ETradeOfferState[offer.state]});
- if (offer.state == TradeOfferManager.ETradeOfferState.Accepted) {
- offer.getReceivedItems(function (err, items) {
- if (err) {
- console.log("Couldn't get received items: " + err);
- } else {
- var names = items.map(function (item) {
- return item.name;
- });
- console.log("Received from " + offer.partner.getSteamID64() + ": " + names.join(', '));
- }
- });
- }
- });
- client.on('newItems', function (count) {
- console.log(count + " new items in our inventory");
- });
- //When another Steam user adds the bot, it will accept the user store their id and send them a message
- client.on('friendRelationship', (steamid, relationship) {
- if (relationship === 2) {
- client.addFriend(steamid);
- console.log('Added ' + steamid + ' to friendlist');
- client.chatMessage(steamid, 'Hello there, I\'m your new friend. I can\'t do much at the moment, so I apologise. ');
- console.log('Sent welcome message too ' + steamid);
- }
- });
- //If a user sends the bot a message and the bot recognizes the word with a listed command or message it will reply with a pre-written message.
- friends.on("friendMsg", function(user, msg, type){
- if(type == Steam.EChatEntryType.ChatMsg){
- if(msg == "hi"){
- friends.sendMessage(user,"Sup bro, how's life?");
- }
- if(msg == "Hi"){
- friends.sendMessage(user,"Sup bro, how's life?");
- }
- }
- })
- //Disabled, only used for testing
- client.on("tradeRequest", function(steamid, respond){
- console.log("Incoming trade request from " + steamid + ": Respond true");
- respond(true);
- })
- client.on("tradeStarted", function(steamid){
- steamTrade.open(steamid);
- console.log("Successfully opened trade with " + steamid)
- })
- //Still in the works
- steamTrade.on("chatMsg", function(steamid, msg, type) {
- if(type == Steam.EChatEntryType.ChatMsg){
- if(msg == "Hello") {
- steamTrade.chatMsg(steamid,"Please die");
- }
- }
- })
- steamTrade.on("ready", function(steamid) {
- steamTrade.ready(function(steamid) {
- console.log("User" + steamid + "is ready");
- steamTrade.confirm();
- console.log("Confirming the trade with user" + steamid + "");
- })
- })
- steamTrade.on('unready',function() {
- steamTrade.unready(function() {
- console.log("User" + steamid + "clicked unready");
- })
- })
- //Still testing withdraw/adding items
- steamTrade.on("chatMsg", function(steamid, msg) {
- if (msg == '/tf2' && "76561198089922529") {
- console.log("Withdrawing TF2 items!");
- steamTrade.loadInventory(440,2, function(items){
- steamTrade.addItems(items);
- })
- }
- })
- //Still testing withdraw/adding items
- steamTrade.on("chatMsg", function(msg) {
- if(msg == "!withdrawCSGO" && "76561198089922529") {
- console.log("Withdrawing CSGO items!");
- steamTrade.loadInventory(730,2, function(items){
- steamTrade.addItems(items);
- })
- }
- })
- //Still testing withdraw/adding items
- steamTrade.on("chatMsg", function(msg) {
- if(msg == "!withdrawSTEAM" && "76561198089922529") {
- console.log("Withdrawing Steam items!");
- steamTrade.loadInventory(753,2, function(items){
- steamTrade.addItems(items);
- })
- }
- })
- friends.on("friendMsg", function(user, msg, type){
- if(type == Steam.EChatEntryType.ChatMsg){
- if(msg == "!help"){
- friends.sendMessage(user,"Sup bro, how's life?");
- }
- if(msg == "!Help"){
- friends.sendMessage(user,"Sup bro, how's life?");
- }
- }
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement