mirror of
https://github.com/arthur-pbty/gestion-perso.git
synced 2026-06-22 10:09:26 +02:00
Mettre à jour les commandes ping et setprefix, ajouter la vérification des permissions, et initialiser la base de données.
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
const sqlite3 = require('sqlite3').verbose();
|
||||
|
||||
module.exports = async function getPermissionLevel(member, guild) {
|
||||
return new Promise((resolve, reject) => {
|
||||
let db = new sqlite3.Database('db.db', sqlite3.OPEN_READWRITE, (err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
}
|
||||
});
|
||||
|
||||
let buyerId = [];
|
||||
let ownerId = [];
|
||||
let highestPermission = 0;
|
||||
|
||||
db.each('SELECT userID FROM users WHERE serverID = ? AND buyer = 1', [guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
}
|
||||
buyerId.push(row.userID);
|
||||
});
|
||||
|
||||
db.each('SELECT userID FROM users WHERE serverID = ? AND owner = 1', [guild.id],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
}
|
||||
ownerId.push(row.userID);
|
||||
});
|
||||
|
||||
for (let i = 1; i <= 9; i++) {
|
||||
db.each('SELECT roleID FROM permissions WHERE serverID = ? AND permission = ?', [guild.id, i],
|
||||
(err, row) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
}
|
||||
if (member.roles.cache.has(row.roleID)) {
|
||||
highestPermission = Math.max(highestPermission, i);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
db.close((err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
reject(err);
|
||||
}
|
||||
|
||||
if (buyerId.includes(member.id)) {
|
||||
resolve(11);
|
||||
} else if (ownerId.includes(member.id)) {
|
||||
resolve(10);
|
||||
} else {
|
||||
resolve(highestPermission);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user