From 438ed3e4c4296bfa8913c10a5879cee4ae623d7d Mon Sep 17 00:00:00 2001 From: TheArcaneBrony Date: Tue, 9 Aug 2022 23:29:22 +0200 Subject: Add rights calculator util script --- bundle/scripts/rights.js | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 bundle/scripts/rights.js (limited to 'bundle/scripts') diff --git a/bundle/scripts/rights.js b/bundle/scripts/rights.js new file mode 100644 index 00000000..89996418 --- /dev/null +++ b/bundle/scripts/rights.js @@ -0,0 +1,36 @@ +const path = require("path"); +const fs = require("fs"); +const { env } = require("process"); +const { execSync } = require("child_process"); +const { argv, stdout, exit } = require("process"); + +const { execIn, getLines, parts } = require("./utils"); + +let lines = fs.readFileSync(path.join(__dirname, "..", "..", "util", "src","util","Rights.ts")).toString() +let lines2 = lines.split("\n"); +let lines3 = lines2.filter(y=>y.includes(": BitFlag(")); +let lines4 = lines3.map(x=>x.split("//")[0].trim()) + +function BitFlag(int) { + return 1n << eval(`${int}n`); +} + +let rights = [] +let maxRights = 0n; +lines4.forEach(x=>{ + maxRights += eval(`rights.${x.replace(':'," = ").replace(",",";")}`) +}) +//max rights... +console.log(`Maximum rights: ${maxRights}`); +//discord rights... +discordRights = maxRights; +discordRights -= rights.SEND_BACKDATED_EVENTS; +discordRights -= rights.MANAGE_GUILD_DIRECTORY; +discordRights -= rights.CREDITABLE; +discordRights -= rights.BYPASS_RATE_LIMITS; +discordRights -= rights.ADD_MEMBERS; +discordRights -= rights.MANAGE_RATE_LIMITS; +discordRights -= rights.OPERATOR; +console.log(`Discord-like rights: ${discordRights}`); + +console.log(lines4) \ No newline at end of file -- cgit 1.5.1