From 200468ac1001cd291f3d2cd5481be812e5134f30 Mon Sep 17 00:00:00 2001 From: Skylar Grant Date: Wed, 31 May 2023 08:33:03 -0400 Subject: [PATCH] Implement logging to db --- functions.js | 8 +++++++- slash-commands/chat.js | 3 ++- slash-commands/dalle.js | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/functions.js b/functions.js index fd0e479..54c1da4 100644 --- a/functions.js +++ b/functions.js @@ -391,7 +391,7 @@ const functions = { const gptEmbed = new Discord.MessageEmbed() .setAuthor({ name: "NodBot powered by GPT-3", iconURL: "https://assets.vfsh.dev/openai-logos/PNGs/openai-logomark.png" }) .setDescription(`**Prompt**\n${prompt}\n\n**Response**\n${response}`) - .setFooter({ text: `This prompt used ${usage.tokens} tokens for a cost of ${usage.usd}¢` }) + .setFooter({ text: `This prompt used ${usage.tokens} tokens for a cost of ${usage.usdc}¢` }) return { embeds: [gptEmbed] }; } }, @@ -488,6 +488,12 @@ const functions = { resolve(); }); }) + }, + openai(user, prompt, engine, tokens, usdc) { + const query = `INSERT INTO openai (user, prompt, engine, tokens, usdc) VALUES (${db.escape(user)}, ${db.escape(prompt)}, ${db.escape(engine)}, ${db.escape(tokens)}, ${db.escape(usdc)})`; + db.query(query, (err) => { + if (err) throw err; + }); } }, download: { diff --git a/slash-commands/chat.js b/slash-commands/chat.js index a538115..2418a7b 100644 --- a/slash-commands/chat.js +++ b/slash-commands/chat.js @@ -17,9 +17,10 @@ module.exports = { const responseText = response.choices[0].text.slice(2); const usage = { tokens: response.usage.total_tokens, - usd: response.usage.total_tokens * ( 0.2 / 1000 ) // 0.2¢ per 1000 tokens or 0.0002¢ per token. + usdc: response.usage.total_tokens * ( 0.2 / 1000 ) // 0.2¢ per 1000 tokens or 0.0002¢ per token. }; const gptEmbed = fn.embeds.gpt(userPrompt, responseText, usage); await interaction.editReply(gptEmbed); + fn.upload.openai(interaction.user.id, userPrompt, "gpt-3.5-turbo", usage.tokens, usage.usdc); }, }; \ No newline at end of file diff --git a/slash-commands/dalle.js b/slash-commands/dalle.js index a848e02..7636c1a 100644 --- a/slash-commands/dalle.js +++ b/slash-commands/dalle.js @@ -1,5 +1,6 @@ const { SlashCommandBuilder } = require('@discordjs/builders'); const fn = require('../functions.js'); +const strings = require("../strings.json"); module.exports = { data: new SlashCommandBuilder() @@ -28,6 +29,7 @@ module.exports = { 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}`);