Add /edit strain
#9
@ -1,29 +0,0 @@
|
|||||||
const { SlashCommandBuilder } = require('@discordjs/builders');
|
|
||||||
const fn = require('../functions.js');
|
|
||||||
const strings = require('../strings.json');
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
data: new SlashCommandBuilder()
|
|
||||||
.setName('chat')
|
|
||||||
.setDescription('Send a message to ChatGPT')
|
|
||||||
.addStringOption(o =>
|
|
||||||
o.setName("prompt")
|
|
||||||
.setDescription("Prompt to send to ChatGPT")
|
|
||||||
.setRequired(true)
|
|
||||||
),
|
|
||||||
async execute(interaction) {
|
|
||||||
await interaction.deferReply();
|
|
||||||
await interaction.editReply(fn.embeds.generatingResponse());
|
|
||||||
const userPrompt = interaction.options.getString("prompt");
|
|
||||||
const response = await fn.openAI.chatPrompt(userPrompt).catch(e => console.error(e));
|
|
||||||
const responseText = response.choices[0].message.content;
|
|
||||||
const usage = {
|
|
||||||
tokens: response.usage.total_tokens,
|
|
||||||
usdc: (response.usage.prompt_tokens * (strings.ai.chatPromptCentsPer / strings.ai.chatPromptUnits)) +
|
|
||||||
(response.usage.completion_tokens * (strings.ai.chatResCentsPer / strings.ai.chatResUnits))
|
|
||||||
};
|
|
||||||
const gptEmbed = fn.embeds.gpt(userPrompt, responseText, usage);
|
|
||||||
await interaction.editReply(gptEmbed);
|
|
||||||
fn.upload.openai(interaction.user.id, userPrompt, strings.ai.chatModel, usage.tokens, usage.usdc);
|
|
||||||
},
|
|
||||||
};
|
|
@ -1,40 +0,0 @@
|
|||||||
const { SlashCommandBuilder } = require('@discordjs/builders');
|
|
||||||
const fn = require('../functions.js');
|
|
||||||
const strings = require("../strings.json");
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
data: new SlashCommandBuilder()
|
|
||||||
.setName('dalle')
|
|
||||||
.setDescription('Generate an image with DALL-e')
|
|
||||||
.addStringOption(o =>
|
|
||||||
o.setName("prompt")
|
|
||||||
.setDescription("Prompt to send to DALL-e")
|
|
||||||
.setRequired(true)
|
|
||||||
)
|
|
||||||
.addStringOption(o =>
|
|
||||||
o.setName("size")
|
|
||||||
.setDescription("1024x1024, 512x512, 256x256")
|
|
||||||
.setRequired(false)
|
|
||||||
.addChoices(
|
|
||||||
{ name: "1024x1024 (2¢)", value: "1024x1024" },
|
|
||||||
{ name: "512x512 (1.8¢)", value: "512x512" },
|
|
||||||
{ name: "256x256 (1.6¢)", value: "256x256" }
|
|
||||||
)),
|
|
||||||
async execute(interaction) {
|
|
||||||
try {
|
|
||||||
await interaction.deferReply();
|
|
||||||
await interaction.editReply(fn.embeds.generatingResponse());
|
|
||||||
const userPrompt = interaction.options.getString("prompt");
|
|
||||||
const size = interaction.options.getString("size") ? interaction.options.getString("size") : "512x512";
|
|
||||||
|
|
||||||
const imageUrl = await fn.openAI.imagePrompt(userPrompt, size);
|
|
||||||
const dalleEmbed = fn.embeds.dalle(userPrompt, imageUrl, size);
|
|
||||||
await interaction.editReply(dalleEmbed);
|
|
||||||
fn.upload.openai(interaction.user.id, userPrompt, "dalle", 0, strings.costs.dalle[size]);
|
|
||||||
} catch (err) {
|
|
||||||
const errorId = fn.generateErrorId();
|
|
||||||
console.error(`${errorId}: ${err}`);
|
|
||||||
await interaction.editReply(`An error has occured. Error ID: ${errorId}\n${err}`);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
|
Loading…
Reference in New Issue
Block a user