javascript - 在第二个 getUserInventory 看不到
问题描述
机器人检查用户的宝石,如果有足够的宝石,它会发送交换报价。如果用户取消此交易报价并尝试再次创建报价,那么机器人会说没有足够的宝石。创建第一个交易报价没有问题,但如果第一个交易报价被取消,机器人总是会告诉你没有足够的宝石。
我无法解决这个问题。你能帮忙吗?
case "gems":
community.getUserInventory(partner, 753, 6, true, (error, items) => {
if(error) {
users.removeReservation(partner, true, removeFunc);
return callback(error);
}
let count = 0;
for(let i = 0; i < items.length; i++) {
let item = items[i];
if(item.type.toLowerCase() != "steam gems")
continue;
count += item.amount;
if(count > price) {
item.amount -= (count - price);
count -= (count - price);
}
offer.addTheirItem(item);
if(count == price)
break;
}
if(count < price) {
users.removeReservation(partner, true, removeFunc);
return callback("/quote You do not have enough gems to purchase unique games.");
}
if(count > price) {
users.removeReservation(partner, true, removeFunc);
return callback("/quote ❌ An error occurred, please try again later.");
}
offer.send((error, status) => {
if(error) {
users.removeReservation(partner, true, removeFunc);
return callback(error);
}
if(status == "pending") {
community.acceptConfirmationForObject(files.getConfig().identity, offer.id, error => {
if(error) {
users.removeReservation(partner, true, removeFunc);
return callback(error);
}
callback(null, "https://steamcommunity.com/tradeoffer/" + offer.id);
});
} else if(status == "sent")
callback(null, "https://steamcommunity.com/tradeoffer/" + offer.id);
});
});
break;
解决方案
推荐阅读
- java - 如何在我的代码中初始化询问管理员的模式?
- java - 与 ZoneId 的偏移量错误?
- python - 如何制作数字字符串的条件切片并将其替换为另一个数字字符串值?
- javascript - 在两个日期之间循环。开始和结束日期(Fetch API)
- r - 如何将用作函数一部分的数字向量传递给 purrr?
- node.js - 如何在带有缓冲区图像的node.js中使用ocr?
- kubernetes - 无法从为 Cluster-IP 服务的 POD 访问 CLUSTER-IP
- erlang - genserver.call 超时数据库连接的 Elixir 错误
- abap - 每组数据集中的极值
- mysql - 使用 MySQL 8 的事务性 Spring Boot 测试回滚事务,但无论如何都会插入行