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 config = require('./config.json'); //Our config holds the needed login details
- var manager = new TradeOfferManager({
- "steam": client,
- "domain": "example.com",
- "language": "en"
- });
- client.logOn({
- accountName: config.username, //
- password: config.password, //
- twoFactorCode: SteamTotp.generateAuthCode(config.sharedSecret) //
- });
- client.on("loggedOn", function(details){
- console.log("Logged into Steam as " + client.steamID.getSteam3RenderedID());
- client.setPersona(SteamUser.Steam.EPersonaState.Online, "Bot name");
- client.gamesPlayed("Currently accepting donations!", 730);
- });
- client.on('error', function (e) {
- console.log('ERROR: ' + e);
- });
- 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, config.identitySecret);
- });
- 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?");
- }
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement