add prefix

This commit is contained in:
Tutur33
2024-02-23 02:57:52 +01:00
parent 31d7e23f14
commit c732820e4d
8 changed files with 1465 additions and 5 deletions
+37
View File
@@ -0,0 +1,37 @@
const { ButtonStyle, ButtonBuilder, ActionRowBuilder } = require('discord.js');
const sqlite3 = require('sqlite3').verbose();
require('dotenv').config();
module.exports = {
name: 'setprefix',
aliases: ['prefixset'],
description: 'Changer le préfixe du bot.',
emote: '⏱️',
utilisation: 'setprefix',
category: 'utils',
async execute(message, args, client) {
if (args.length < 1) return message.reply('Veuillez entrer un préfixe.');
let db = new sqlite3.Database('db.db', sqlite3.OPEN_READWRITE, (err) => {
if (err) {
console.error(err.message);
}
});
db.run('INSERT OR REPLACE INTO prefix (serverID, prefix) VALUES (?, ?)', [message.guild.id, args[0]], (err) => {
if (err) {
console.error(err.message);
message.reply('Erreur lors de la modification du préfixe.');
} else {
message.reply(`Le préfixe a été modifié en ${args[0]}`);
}
});
db.close((err) => {
if (err) {
console.error(err.message);
}
});
},
};
+3 -2
View File
@@ -1,11 +1,12 @@
const { Events } = require("discord.js");
const getServerPrefix = require("../fonctions/getServerPrefix");
module.exports = {
name: Events.MessageCreate,
async execute(message, client) {
const prefix = "+";
if (message.author.bot) return;
const prefix = await getServerPrefix(message.guild.id);
if (!message.content.startsWith(prefix)) return;
const args = message.content.slice(prefix.length).trim().split(/ +/);
+33
View File
@@ -0,0 +1,33 @@
const sqlite3 = require('sqlite3').verbose();
require('dotenv').config();
function getServerPrefix(serverID) {
return new Promise((resolve, reject) => {
let db = new sqlite3.Database('db.db', sqlite3.OPEN_READWRITE, (err) => {
if (err) {
console.error(err.message);
reject(err);
}
});
db.get('SELECT prefix FROM prefix WHERE serverID = ?', [serverID], (err, row) => {
if (err) {
console.error(err.message);
reject(err);
}
if (row) {
resolve(row.prefix);
} else {
resolve(process.env.DEFAULT_PREFIX);
}
});
db.close((err) => {
if (err) {
console.error(err.message);
}
});
});
}
module.exports = getServerPrefix;
+52
View File
@@ -0,0 +1,52 @@
const sqlite3 = require('sqlite3').verbose();
require('dotenv').config();
module.exports = function initDB() {
let db = new sqlite3.Database('db.db', sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE, (err) => {
if (err) {
console.error(err.message);
}
console.log('Connected to the db.db database.');
});
db.run(`PRAGMA foreign_keys = ON;`, (err) => {
if (err) {
console.error(err.message);
}
console.log('Foreign key constraint enabled');
});
db.run(`CREATE TABLE IF NOT EXISTS prefix(
prefix TEXT NOT NULL DEFAULT '${process.env.DEFAULT_PREFIX}',
serverID TEXT NOT NULL UNIQUE
)`, (err) => {
if (err) {
console.error(err.message);
}
console.log('Created prefix table');
});
db.run(`CREATE TABLE IF NOT EXISTS users(
serverID TEXT NOT NULL,
userID TEXT NOT NULL,
coins INTEGER NOT NULL DEFAULT 0,
bank INTEGER NOT NULL DEFAULT 0,
xp INTEGER NOT NULL DEFAULT 0,
levels INTEGER NOT NULL DEFAULT 0,
messages INTEGER NOT NULL DEFAULT 0
)`, (err) => {
if (err) {
console.error(err.message);
}
console.log('Created users table');
});
db.close((err) => {
if (err) {
console.error(err.message);
}
console.log('Close the database connection.');
});
};
+1 -1
View File
@@ -12,4 +12,4 @@ module.exports = function run(token) {
console.log(`${loadCommands(client, 'commands')} commands loaded`);
client.login(token);
}
};
+3
View File
@@ -1,7 +1,10 @@
require('dotenv').config()
const run = require("./fonctions/run");
const initDB = require("./fonctions/initDB");
tokens = process.env.TOKENS.split(',')
initDB();
const runAsync = async () => {
Promise.all(tokens.map(token => run(token)));
};
+1334 -1
View File
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -18,6 +18,7 @@
"homepage": "https://github.com/Tutur33/gestion-perso#readme",
"dependencies": {
"discord.js": "^14.14.1",
"dotenv": "^16.4.5"
"dotenv": "^16.4.5",
"sqlite3": "^5.1.7"
}
}