expandchatbotv2/commands/slashcommands/utility/image.js
Expand-sys 39a3820d83 aaaaa
2023-04-14 11:41:29 +10:00

57 lines
No EOL
1.9 KiB
JavaScript

const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
const { CommandInteraction, ApplicationCommandType, ApplicationCommandOptionType, EmbedBuilder } = require('discord.js');
const { sendResponse, sendReply } = require('../../../utils/utils');
const path = require('path');
const { send } = require('process');
const { Embed } = require("@discordjs/builders");
module.exports = {
name: `image`,
description: `Generate an image`,
cooldown: 5,
type: ApplicationCommandType.ChatInput,
options: [{
name: `prompt`,
description: `your prompt for the image generator`,
type: ApplicationCommandOptionType.String,
required: true,
}],
/**
* @param {CommandInteraction} interaction
*/
async execute(interaction) {
let image_url = null
let error = null
interaction.deferReply()
try{
const response = await openai.createImage({
prompt: `${interaction.options.getString("prompt")}`,
n: 1,
size: "512x512",
});
image_url = response.data.data[0].url;
error = response
let embed = new Embed({
"type": "rich",
"title": `Prompt: ${interaction.options.getString("prompt")}`,
"description": "",
"color": 0xa70909,
"image": {
"url": `${image_url}`,
"height": 0,
"width": 0
},
})
sendResponse(interaction, ``, [embed])
} catch(e){
error = e.response.data.error.message
sendResponse(interaction, e.response.data.error.message)
}
}
}