|
var vapor = require('../vapor-core'); |
|
var winston = require('../vapor-winston-logger'); |
|
var getKey = require('steam-web-api-key'); |
|
var TradeOffers = require('steam-tradeoffers'); |
|
|
|
var bot = vapor(); |
|
var offers = new TradeOffers(); |
|
var log; |
|
|
|
function sendOffer() { |
|
offers.makeOffer({ |
|
partnerSteamId: process.env.VAPOR_ADMIN, |
|
itemsFromMe: [{ |
|
appid: 440, |
|
contextid: 2, |
|
amount: 1, |
|
assetid: process.env.ASSETID |
|
}] |
|
}, function(error, result) { |
|
if(error) { |
|
log.error(error); |
|
} else { |
|
log.info(result); |
|
} |
|
}); |
|
} |
|
|
|
bot.init({ |
|
username: process.env.VAPOR_USER, |
|
password: process.env.VAPOR_PASS, |
|
admins: [ process.env.VAPOR_ADMIN ], |
|
displayName: 'Vapor Tester' |
|
}); |
|
|
|
bot.use(winston, {fileLevel: 'debug'}); |
|
bot.use(vapor.plugins.essentials); |
|
bot.use(vapor.plugins.stdinSteamGuard); |
|
bot.use(vapor.plugins.fs); |
|
|
|
bot.use({ |
|
name: 'tradeoffer-sender', |
|
plugin: function(API) { |
|
log = API.getLogger(); |
|
var utils = API.getUtils(); |
|
var Steam = API.getSteam(); |
|
|
|
// Setup |
|
API.registerHandler({ |
|
emitter: 'vapor', |
|
event: 'cookies' |
|
}, function(cookies, sessionid) { |
|
getKey({ |
|
sessionid: sessionid, |
|
webCookie: cookies |
|
}, function(error, key) { |
|
offers.setup({ |
|
sessionID: sessionid, |
|
webCookie: cookies, |
|
APIKey: key |
|
}); |
|
}); |
|
}); |
|
|
|
// Intercept chat message |
|
API.registerHandler({ |
|
emitter: 'steamFriends', |
|
event: 'friendMsg' |
|
}, function(user, message, type) { |
|
if(utils.isAdmin(user) && type === Steam.EChatEntryType.ChatMsg) { |
|
if(message === 'send') { |
|
API.disconnect(); |
|
|
|
setTimeout(function() { |
|
sendOffer(); |
|
}, 10000); |
|
} |
|
} |
|
}); |
|
|
|
} |
|
}); |
|
|
|
bot.connect(); |
|
|
|
process.on('SIGINT', function() { |
|
bot.disconnect(); |
|
setTimeout(process.exit, 1000, 0); |
|
}); |