Hey there, I'm such a newbie in steambot coding. The main objective of the code would be that the bot should request a cs:go / tf2 key from a user who sends the command "!order" via trade offers. My current state is that the bot creates the offer but there's always an error because I get the error: "Cannot send an empty trade offer." Is there anything which I'm too blind to see? Thanks in advance! My code:
function checkKeys(steamID) {
var theirKeys = [];
var amountOfKeysToAdd = 1;
manager.getUserInventoryContents(steamID, config.keysFromCSGO && config.keysFromTF2, 2, true, function(err, inventory) {
if (err) {
console.log('Error getting user inventory.'.red);
} else {
console.log('Checking if user has CS:GO or TF2 keys.'.green);
for (var n = 0; n < inventory.length; n++) {
if(theirKeys.length < amountOfKeysToAdd && config.acceptedKeys.indexOf(inventory[n].market_hash_name) >= 0) {
theirKeys.push(inventory[n]);
console.log(inventory[n].market_hash_name);
}
}
console.log('User has' + theirKeys.length + 'key(s).');
}
});
}
function sendOffer(sender) {
let theirKeys = [];
var offer = (manager.createOffer(sender.getSteamID64()));
offer.addTheirItems(theirKeys);
offer.send ((err, status) => {
if (err) {
console.log('There was an error sending the offer.'.red + err);
} else {
console.log('An offer has been sent.'.green);
console.log(status);
}
});
}
client.on('friendMessage', (sender, message) => {
if (message === "!start") {
client.chatMessage(sender, config.startMessage);
} else if (message === "!owner") {
client.chatMessage(sender, config.ownerMessage);
} else if (message === "!help") {
client.chatMessage(sender, config.helpMessage);
} else if (message === "!order") {
client.chatMessage(sender, config.orderMessage);
client.chatMessage(sender, 'Processing your request....');
checkKeys(sender);
console.log('Creating offer...'.cyan);
sendOffer(sender);
} else if (message === "!proof") {
client.chatMessage(sender, config.proofMessage);
}
});