From 68c457964a02d290f3fe225b090c549d664bb836 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Thu, 1 Jun 2023 01:11:21 +0200 Subject: Another big refactoring --- lib/ships.js | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'lib/ships.js') diff --git a/lib/ships.js b/lib/ships.js index 109054c..55ee585 100644 --- a/lib/ships.js +++ b/lib/ships.js @@ -12,12 +12,14 @@ export async function extract(ctx) { default: // yet unhandled error throw response; } + } else { + await api.sleep(response.data.cooldown.remainingSeconds*1000); } return response; } export async function dock(ctx) { - const response = await api.send({endpoint: `/my/ships/${ctx.ship}/dock`, method: 'POST'}); + const response = await api.send({endpoint: `/my/ships/${ctx.symbol}/dock`, method: 'POST'}); if (response.error !== undefined) { switch(response.error.code) { case 4214: // ship is in transit @@ -48,7 +50,17 @@ export async function negotiate(ctx) { } export async function orbit(ctx) { - return await api.send({endpoint: `/my/ships/${ctx.ship}/orbit`, method: 'POST'}); + const response = await api.send({endpoint: `/my/ships/${ctx.symbol}/orbit`, method: 'POST'}); + if (response.error !== undefined) { + switch(response.error.code) { + case 4214: // ship is in transit + await api.sleep(response.error.data.secondsToArrival * 1000); + return orbit(ctx); + default: // yet unhandled error + throw response; + } + } + return response; } export async function purchase(ctx) { -- cgit v1.2.3