pissbot-9000/commands/message/image/photofunia/retro-wave.js
derpystuff f9c627ada1 big help upgrades
- short descriptions for command list
  - argument descriptions
  - render argument list on detailed help page
2022-12-06 10:26:34 +01:00

48 lines
No EOL
2.1 KiB
JavaScript

const { createEmbed } = require('../../../../labscore/utils/embed')
const { editOrReply } = require('../../../../labscore/utils/message')
const { STATICS } = require('../../../../labscore/utils/statics')
const { retroWave } = require('../../../../labscore/api')
module.exports = {
name: 'retro',
label: 'text',
metadata: {
description: 'Generates an image with a retro style.',
description_short: 'Retro-styled text',
examples: ['retro cyberspace|chaos|crazy'],
category: 'image',
usage: 'retro <line1|line2|line3> [-background <1-5>] [-style <1-4>]'
},
args: [
{default: 5, name: 'background', type: 'integer', help: "Background Style ` 1, 2, 3, 4, 5 `"},
{default: 4, name: 'style', type: 'integer', help: "Text Style ` 1, 2, 3, 4 `"},
],
run: async (context, args) => {
context.triggerTyping();
if(!args.text) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (text).`)]})
if(args.background > 5 || args.background < 1) return editOrReply(context, {embeds:[createEmbed("warning", context, `Invalid Parameter (background).`)]})
if(args.style > 4 || args.style < 1) return editOrReply(context, {embeds:[createEmbed("warning", context, `Invalid Parameter (style).`)]})
let lines = `${args.text}| | `.split('|')
try{
let res = await retroWave(context, args.background, args.style, lines[2], lines[0], lines[1])
if(res.response.body.status == 1) return editOrReply(context, {embeds:[createEmbed("warning", context, res.response.body.errors[0])]})
image = res.response.body.data.images[res.response.body.data.best_quality]
return editOrReply(context, createEmbed("image", context, {
url: image,
time: res.timings,
provider: {
icon: STATICS.photofunia,
text: "PhotoFunia"
}
}))
}catch(e){
console.log(e)
if(e.response?.body?.message) return editOrReply(context, {embeds:[createEmbed("error", context, e.response.body.message)]})
return editOrReply(context, {embeds:[createEmbed("error", context, `Unable to generate image.`)]})
}
}
};