const sqlite3 = require('sqlite3').verbose(); const db = new sqlite3.Database('myDatabase.db'); async function getPermissionLevel(member, client) { const botId = client.user.id; const guildId = member.guild.id; const buyerId = ['1003985920162287696', '671763971803447298']; let data = await new Promise((resolve, reject) => { db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => { if (err) { console.error(err.message); reject(err); } resolve(row ? JSON.parse(row.value) : {}); }); }); let owners = data.owners || {}; if (buyerId.includes(member.id)) { return 11; } if (owners[member.id]) { return 10; } let highestPermission = 0; for (let i = 1; i <= 9; i++) { const roleIds = data.permissions && data.permissions[guildId] && data.permissions[guildId].p && data.permissions[guildId].p[i]; if (roleIds) { if (roleIds.some(id => member.roles.cache.has(id))) { highestPermission = Math.max(highestPermission, i); } } } return highestPermission; } async function getPermissionLevel2(member, client, guildId) { const botId = client.user.id; const buyerId = ['1003985920162287696', '671763971803447298']; let data = await new Promise((resolve, reject) => { db.get('SELECT value FROM gestion WHERE id = ?', [botId], (err, row) => { if (err) { console.error(err.message); reject(err); } resolve(row ? JSON.parse(row.value) : {}); }); }); let owners = data.owners || {}; if (buyerId.includes(member.id)) { return 11; } if (owners[member.id]) { return 10; } let highestPermission = 0; for (let i = 1; i <= 9; i++) { const roleIds = data.permissions && data.permissions[guildId] && data.permissions[guildId].p && data.permissions[guildId].p[i]; if (roleIds) { if (roleIds.some(id => member.roles.cache.has(id))) { highestPermission = Math.max(highestPermission, i); } } } return highestPermission; } module.exports = { getPermissionLevel , getPermissionLevel2};