Added Payment Authorization Middleware

- Default options for commands
- Verify user has enough balance to create the transaction
- Need to create methods to create transactions
This commit is contained in:
Logan Cusano
2023-02-26 00:51:56 -05:00
parent 8ed30ad171
commit f3bae7e223
5 changed files with 206 additions and 34 deletions

View File

@@ -14,34 +14,34 @@ module.exports = {
.setRequired(true))
.addNumberOption(option =>
option.setName('temperature')
.setDescription('Set the temperature, 0 = repetitive, 1 = random')
.setDescription('Set the temperature, 0 = repetitive, 1 = random; Defaults to 0')
.setRequired(false))
.addNumberOption(option =>
option.setName('tokens')
.setDescription('The max amount of tokens to be spent')
.setRequired(false)),
example: "chat [tell me a story] [0.07] []", // Need to figure out the tokens
isPrivileged: true,
isPrivileged: false,
requiresTokens: true,
defaultTokenUsage: 100,
deferInitialReply: true,
async execute(interaction) {
// Needs middleware for payment
try {
var params = {};
var promptText = interaction.options.getString('prompt');
var temperature = interaction.options.getNumber('temperature');
var maxTokens = interaction.options.getNumber('tokens') ?? this.defaultTokenUsage;
try {
var params = {};
var prompt = encodeURIComponent(interaction.options.getString('prompt').join(" "));
var temperature = interaction.options.getNumber('temperature');
var maxTokens = interaction.options.getNumber('tokens');
if (temperature) params._temperature = temperature;
if (maxTokens) params._max_tokens = maxTokens;
var gptResponse = await libCore.getChat(promptText, params);
await interaction.reply(`${interaction.member.user} ${gptResponse}`);
if (temperature) params._temperature = temperature;
if (maxTokens) params._max_tokens = maxTokens;
var gptResponse = await prompt.libCore.getChat(prompt, params);
await interaction.reply(`${interaction.author.username} ${gptResponse}`);
// Needs reply code to reply to the generation
}catch(err){
log.ERROR(err)
//await interaction.reply(err.toString());
}
// Needs reply code to reply to the generation
}catch(err){
log.ERROR(err)
//await interaction.reply(err.toString());
}
}
};