mirror of
https://github.com/arthur-pbty/gestion-perso.git
synced 2026-06-22 18:19:33 +02:00
bot passer sous TS
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
import sqlite3 from 'sqlite3';
|
||||
|
||||
module.exports = async function getPermissionLevel(member: any, guild: any) {
|
||||
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: string[] = [];
|
||||
let ownerId: string[] = [];
|
||||
let highestPermission = 0;
|
||||
|
||||
db.each('SELECT userID FROM users WHERE serverID = ? AND buyer = 1', [guild.id],
|
||||
(err, row: any) => {
|
||||
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: any) => {
|
||||
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: any) => {
|
||||
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