diff --git a/main.js b/main.js index 4c347dc..eeeacc3 100644 --- a/main.js +++ b/main.js @@ -30,8 +30,7 @@ eris.on( ); let - url, - nextRequestTimestamp, + getUrl, nextRequestTimeout; fastify.get( @@ -42,9 +41,7 @@ fastify.get( ) => { if(request.query['apiKey'] !== webApiKey) return reply.code(401).send(); - reply.send(url); - url = ''; - nextRequestTimestamp = Date.now() + webRequestInterval; + reply.send(getUrl ? await getUrl() : undefined); clearTimeout(nextRequestTimeout); nextRequestTimeout = setTimeout( async () => { @@ -58,13 +55,14 @@ fastify.get( eris.on( 'messageCreate', - async ({ - guildID, - author: { id: authorID }, - channel: { id: channelID }, - id: messageID, - content - }) => { + async message => { + const { + guildID, + author: { id: authorID }, + channel: { id: channelID }, + id: messageID, + content + } = message; if( guildID || @@ -80,15 +78,15 @@ eris.on( if(content){ try { new URL(content); - url = content; - await reply( - nextRequestTimestamp && nextRequestTimestamp > Date.now() - ? `ETA: ${Math.ceil((nextRequestTimestamp - Date.now()) / 1000)} seconds.` - : 'ETA: as soon as online.' - ); + getUrl = () => new Promise(async resolve => { + resolve(content); + getUrl = undefined; + await message.addReaction('✅'); + }); + await message.addReaction('⏳'); } catch { - await reply('Invalid URL'); + await message.addReaction('❌'); } } }