Untitled

mail@pastecode.io avatar
unknown
plain_text
3 years ago
1.5 kB
32
Indexable
Never
setInterval(async () => {
    let contracts = await $contract.find()
    for (var i = contracts.length - 1; i >= 0; i--) {

        if (contracts[i].status === 0) {
            let user = await $user.findOne({ id: contracts[i].ownerId })

            var options = {
                url: `https://api.risex.net/api/v1/deal/${contracts[i].uid}`,
                headers: {
                    'Content-Type': "application/json",
                    'Authorization': `Bearer ${user.token}`
                },
            };

            request.get(options, async function(error, response, body) {
                if (error) {
                    bot.telegram.sendMessage(user.id, `❌ Ошибка *с получением данных, не удалось проверить сделку.*`)
                    main_keyboard(ctx)
                    return ctx.scene.leave()
                }
                let json = JSON.parse(body)

                if (json.data.status.title === 'Canceled') {
                    await contracts[i].set("status", 1)
                }
                if (json.data.status.title === 'Finished') {
                    await contracts[i].set("status", 2)
                    await user.inc("balance", contracts[i].crypto_amount)
                    bot.telegram.sendMessage(`✅ Сделка закончена успешно. Ваш баланс пополнен на ${contracts[i].crypto_amount} BTC.`)
                }
            })
        }
    }
}, 5000);