This commit is contained in:
Lukian LEIZOUR 2023-03-18 19:00:43 +01:00
parent d931987b0b
commit 585bb8e042
2 changed files with 27 additions and 35 deletions

32
app.js
View file

@ -8,7 +8,7 @@ const { getJoke } = require('./libs/dadJokes');
const { rtag, r34 } = require('./libs/rule34'); const { rtag, r34 } = require('./libs/rule34');
const { addToLogs, isTrue, getHelp } = require('./libs/botTools'); const { addToLogs, isTrue, getHelp } = require('./libs/botTools');
const { generateImage, answerQuestion, sendConv } = require('./libs/openAi'); const { generateImage, answerQuestion, sendConv } = require('./libs/openAi');
const { addUserToDb, incrementQuota, usersInDb, getQuota, addConv, delConv, getConvs, addMessage, getMessages } = require('./libs/mysql'); const { addUserToDb, incrementQuota, usersInDb, getQuota, addConv, delConv, getConvs, addMessage, getMessages, isNewUser } = require('./libs/mysql');
//bot initialization //bot initialization
const bot = new Telegraf(process.env.TELEGRAM); const bot = new Telegraf(process.env.TELEGRAM);
@ -254,15 +254,7 @@ client.on('interactionCreate', async interaction => {
if (interaction.commandName === 'gptrequest') { if (interaction.commandName === 'gptrequest') {
await interaction.deferReply(); await interaction.deferReply();
users = await usersInDb(); quota = isNewUser(interaction.member.user.id, interaction.member.user.username);
if (!(users.includes(interaction.member.user.id))) {
await addUserToDb(interaction.member.user.id, interaction.member.user.username);
addToLogs('[Discord] Added user to the database : ' + interaction.member.user.username);
console.log('[Discord] Added user to the database : ' + interaction.member.user.username);
}
quota = await getQuota(interaction.member.user.id);
if (quota >= 200000) { if (quota >= 200000) {
const embed = new discord.EmbedBuilder() const embed = new discord.EmbedBuilder()
@ -393,15 +385,7 @@ client.on('interactionCreate', async interaction => {
else if (interaction.commandName === 'addmsg') { else if (interaction.commandName === 'addmsg') {
await interaction.deferReply(); await interaction.deferReply();
users = await usersInDb(); quota = isNewUser(interaction.member.user.id, interaction.member.user.username);
if (!(users.includes(interaction.member.user.id))) {
await addUserToDb(interaction.member.user.id, interaction.member.user.username);
addToLogs('[Discord] Added user to the database : ' + interaction.member.user.username);
console.log('[Discord] Added user to the database : ' + interaction.member.user.username);
}
quota = await getQuota(interaction.member.user.id);
if (quota >= 200000) { if (quota >= 200000) {
const embed = new discord.EmbedBuilder() const embed = new discord.EmbedBuilder()
@ -500,15 +484,7 @@ client.on('interactionCreate', async interaction => {
else if (interaction.commandName === 'getmyguota') { else if (interaction.commandName === 'getmyguota') {
await interaction.deferReply(); await interaction.deferReply();
users = await usersInDb(); quota = (await isNewUser(interaction.member.user.id, interaction.member.user.username)).quota;
if (!(users.includes(interaction.member.user.id))) {
await addUserToDb(interaction.member.user.id, interaction.member.user.username);
addToLogs('[Discord] Added user to the database : ' + interaction.member.user.username);
console.log('[Discord] Added user to the database : ' + interaction.member.user.username);
}
quota = await getQuota(interaction.member.user.id);
const embed = new discord.EmbedBuilder() const embed = new discord.EmbedBuilder()
.setColor(0xFABBDE) .setColor(0xFABBDE)

View file

@ -33,15 +33,11 @@ function incrementQuota(id, value) {
function usersInDb() { function usersInDb() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
connection.query('SELECT userid FROM users', (error, results, fields) => { connection.query('SELECT * FROM users', (error, results, fields) => {
if (error) { if (error) {
reject(error); reject(error);
} else { } else {
users = []; resolve(results);
results.forEach(element => {
users.push(element.userid);
});
resolve(users);
} }
}); });
}); });
@ -146,4 +142,24 @@ function getMessages (convName, choice) {
}); });
} }
module.exports = { addUserToDb, incrementQuota, usersInDb, getQuota, addConv, delConv, getConvs, addMessage, getMessages }; async function isNewUser(id, username) {
users = await usersInDb();
test = false;
quota = 0;
users.forEach(element => {
if (element.userid == id) {
test = true;
quota = element.quota;
}
});
if (test == false) {
addUserToDb(id, username);
}
return {quota : quota};
}
module.exports = { addUserToDb, incrementQuota, usersInDb, getQuota, addConv, delConv, getConvs, addMessage, getMessages, isNewUser };