Cita:
Iniciado por leugimsiul
Por javascript no creo que vayas a poder. Lo normal sería que en servidor comprobaras si ya le has dado esos coins a ese usuario en un intervalo de tiempo muy corto, y si es así no volver a dárselo.
Creo que ya lo he arreglado con este codigo, el unico problema es que si lo hacen a la vez desde dos ips diferentes si pueden hacerlo, pero no estoy seguro :s
Código HTML:
var ips = {};
app.get('/checkTrade/', function (req, res) {
if(ips[req.connection.remoteAddress]+15 >= time()) {
return;
} else {
ips[req.connection.remoteAddress] = time();
}
var tid = req.query['tid'];
offers.getOffer({
tradeofferid: tid
}, function(err, trade) {
if(err) {
logger.error('Error checking trade');
logger.debug(err);
res.json({
success: false,
error: err.toString()
});
} else {
logger.debug(trade);
if(trade.response.offer.trade_offer_state == 3) {
res.json({
success: true,
action: 'accept',
result: 'Coins have been added to your balance'
});
} else if(trade.response.offer.trade_offer_state == 7) {
res.json({
success: true,
result: 'You are declined trade',
action: 'cross'
});
} else {
res.json({
success: false,
error: 'You are not accept trade'
});
}
}
});
});