diff --git a/commands/interaction/user/pride.js b/commands/interaction/user/pride.js new file mode 100644 index 0000000..1df6f3a --- /dev/null +++ b/commands/interaction/user/pride.js @@ -0,0 +1,46 @@ +const { prideborder } = require("../../../labscore/api"); +const { createEmbed } = require("../../../labscore/utils/embed"); +const { editOrReply } = require("../../../labscore/utils/message"); + +const { Constants } = require('detritus-client'); +const { InteractionCallbackTypes, ApplicationCommandTypes } = Constants; + +module.exports = { + name: 'Create Pride Avatar 🌈', + type: ApplicationCommandTypes.USER, + contexts: [ + 0, + 1, + 2 + ], + integrationTypes: [ + 1 + ], + run: async (context, args) => { + try{ + await context.respond({ data: {}, type: InteractionCallbackTypes.DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE }) + + try{ + let pride = await prideborder(context, args.user.avatarUrl + '?size=512') + + return editOrReply(context, { + embeds: [createEmbed("image", context, { + url: "pride.png" + })], + files: [{ filename: "pride.png", value: pride.response.body }] + }) + }catch(e){ + console.log(e) + return editOrReply(context, createEmbed("error", context, "Unable to generate overlay.")) + } + + return editOrReply(context, createEmbed("default", context, { + image: { + url: args.user.avatarUrl + '?size=4096' + } + })) + }catch(e){ + console.log(e) + } + }, +}; \ No newline at end of file diff --git a/commands/message/image/pride.js b/commands/message/image/pride.js index 9525d21..b124728 100644 --- a/commands/message/image/pride.js +++ b/commands/message/image/pride.js @@ -1,10 +1,10 @@ +const { prideborder } = require("../../../labscore/api"); const { createEmbed } = require("../../../labscore/utils/embed"); const { editOrReply } = require("../../../labscore/utils/message"); const { getUser } = require("../../../labscore/utils/users"); const { Permissions } = require("detritus-client/lib/constants"); -const superagent = require('superagent') module.exports = { name: 'pride', label: 'user', @@ -25,19 +25,13 @@ module.exports = { const avatar = u.user.avatarUrl + '?size=512' try{ - let pride = await superagent.get(`https://labscore.vercel.app/v2/image/pridev2`) - .set({ - "x-labscore-auth": process.env.LEGACY_API_KEY - }) - .query({ - url: avatar - }) + let pride = await prideborder(context, avatar) return editOrReply(context, { embeds: [createEmbed("image", context, { url: "pride.png" })], - files: [{ filename: "pride.png", value: pride.body }] + files: [{ filename: "pride.png", value: pride.response.body }] }) }catch(e){ console.log(e) diff --git a/labscore/api/endpoints.js b/labscore/api/endpoints.js index ce7d840..911db01 100644 --- a/labscore/api/endpoints.js +++ b/labscore/api/endpoints.js @@ -18,6 +18,8 @@ const Api = Object.freeze({ GOOGLE_VISION_SAFETY_LABELS: '/google/vision/safety', GOOGLE_VISION_WEBDETECTION: '/google/vision/webdetection', + IMAGE_INHOUSE_PRIDE: '/image/inhouse/pride', + IMAGE_DEEPDREAM: '/image/deepai/deepdream', IMAGE_IMAGEEDITOR: '/image/deepai/imageedit', IMAGE_SUPERRESOLUTION: '/image/deepai/superresolution', diff --git a/labscore/api/index.js b/labscore/api/index.js index 906fbd0..f6bd323 100644 --- a/labscore/api/index.js +++ b/labscore/api/index.js @@ -223,6 +223,12 @@ module.exports.retroWave = async function(context, background = 5, textStyle= 4, }) } +module.exports.prideborder = async function(context, url){ + return await request(Api.IMAGE_INHOUSE_PRIDE, "GET", {}, { + url: url + }) +} + module.exports.deepdream = async function(context, url){ return await request(Api.IMAGE_DEEPDREAM, "GET", {}, { url: url diff --git a/labscore/logging.js b/labscore/logging.js index 4eeffcb..cc078ab 100644 --- a/labscore/logging.js +++ b/labscore/logging.js @@ -42,7 +42,7 @@ module.exports.basecamp = async function (log, content = ""){ module.exports.ingest = async function (event, type = "generic"){ try{ - let r = await superagent.get(`${process.env.INGEST_SERVICE_HOST}/d/${type}/${event}`) + let r = await superagent.get(`${process.env.INGEST_SERVICE_HOST}/d/${type}/${encodeURIComponent(event)}`) .set("x-ingest-client", process.env.INGEST_SERVICE_CLIENT) }catch(e){ console.log(e)