diff options
author | ame <[email protected]> | 2024-01-28 11:31:37 -0600 |
---|---|---|
committer | ame <[email protected]> | 2024-01-28 11:31:37 -0600 |
commit | 6b9df1e15b66ed421278c0533c1425198c023d13 (patch) | |
tree | a09e6132f09b6a97def1ede0ffe0ef722435d208 | |
parent | 8af3b4b030ed456fe5facc0bf4af3a249159da94 (diff) |
changes to mod detection
-rw-r--r-- | commands/mod/confirm.js | 8 | ||||
-rw-r--r-- | commands/mod/whois.js | 5 | ||||
-rw-r--r-- | events/interaction.js | 3 | ||||
-rw-r--r-- | events/message.js | 2 | ||||
-rw-r--r-- | index.js | 3 | ||||
-rw-r--r-- | src/util.js | 5 |
6 files changed, 16 insertions, 10 deletions
diff --git a/commands/mod/confirm.js b/commands/mod/confirm.js index 1d32a18..398138e 100644 --- a/commands/mod/confirm.js +++ b/commands/mod/confirm.js @@ -7,20 +7,20 @@ const message = require("../../events/message"); let config_loc = __filename+".json" let config = JSON.parse(fs.readFileSync(config_loc)) module.exports = { - name: "sns", - command: ["sns"], + name: "ban", + command: ["ban"], mod_only:true, config:config, config_loc:config_loc, main(client,Discord,message,args) { }, - s_options:[{type:"sub",name:"ban",options:[ + s_options:[ {type:"user",name:"user",desc:"message to be sent",required:true,autocomplete:false}, {type:"string",name:"ban-reason",desc:"ban reason to be sent to the user",required:true,autocomplete:false}, {type:"string",name:"details",desc:"staff note (mod side only)",required:false,autocomplete:false}, {type:"boolean",name:"send-appeal",desc:"whether to send your user id for appealing (default : false)", required:false,autocomplete:false}, - {type:"boolean",name:"open-thread",desc:"open a thread for discussion (default : false)", required:false,autocomplete:false}]}, + {type:"boolean",name:"open-thread",desc:"open a thread for discussion (default : false)", required:false,autocomplete:false}, ], s_main(client,Discord,interaction){ this.exec(client, { diff --git a/commands/mod/whois.js b/commands/mod/whois.js index 1926885..6ffd8e6 100644 --- a/commands/mod/whois.js +++ b/commands/mod/whois.js @@ -3,6 +3,7 @@ const settings = require("../../src/settings") const { EmbedBuilder, PermissionsBitField } = require("discord.js"); const fs = require('fs') const {upload_limit} = require("../../src/util") +let util = require("../../src/util") const path = require('path') let config_loc = __filename+".json" let config = JSON.parse(fs.readFileSync(config_loc)) @@ -68,7 +69,7 @@ module.exports = { p_user(client,Discord,message,user){ let join = new Date(parseInt(user.joinedTimestamp / 1000, 10)*1000).toLocaleDateString(undefined,{ weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }); let created = new Date(parseInt(user.user.createdAt / 1000, 10)*1000).toLocaleDateString(undefined,{ weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }); - let mod = user.permissions!=null&&user.permissions?.has(PermissionsBitField.Flags.KickMembers) + let mod = util.is_mod(user) let roles = "" let color = {pos:-1,color:settings.defaultColor}; @@ -113,7 +114,7 @@ module.exports = { m.delete() }) } - let mod = role.permissions!=null&&role.permissions?.has(PermissionsBitField.Flags.KickMembers) + let mod = util.is_mod(role) const embed = new EmbedBuilder() .setTitle(role.name) .setDescription("<@&"+role.id+">"+(mod?" +able to use mod commands":"")) diff --git a/events/interaction.js b/events/interaction.js index ff3f1ef..a9a174f 100644 --- a/events/interaction.js +++ b/events/interaction.js @@ -4,6 +4,7 @@ const path = require("path"); const { EmbedBuilder } = require("discord.js"); let db = require("../src/db") let settings = require('../src/settings') +let util = require("../src/util") let config_loc = __filename+".json" module.exports = { name : "interactionCreate", @@ -21,7 +22,7 @@ module.exports = { await interaction.guild.members.fetch() interaction.user = interaction.guild.members.cache.get(interaction.user.id) - let mod = interaction.user.permissions!=null&&interaction.user.permissions?.has(PermissionsBitField.Flags.KickMembers) + let mod = util.is_mod(interaction.member) let command = global.s_commands.find(o => o.name === interaction.commandName) if(command.command.config.mod_respect_restrict) mod = false if(!((!command.command.config.restrict||command.command.config.restrict.length==0||command.command.config.restrict.includes(interaction.channel.id))&& diff --git a/events/message.js b/events/message.js index c9234e0..63202d8 100644 --- a/events/message.js +++ b/events/message.js @@ -115,7 +115,7 @@ module.exports = { let remove = function(msg) {setTimeout(async()=>{try{await msg.delete()}catch(e){}},config["error-timeout"].value)} let date = new Date() let uid = message.member.id; - let mod = message.member.permissions!=null&&message.member.permissions?.has(PermissionsBitField.Flags.KickMembers) + let mod = util.is_mod(message.member);//message.member.permissions!=null&&message.member.permissions?.has(PermissionsBitField.Flags.KickMembers) if(message.content.startsWith("sns ")&&(!config["restrict-channels"].value.includes(message.channel.id)||(mod))){ let com_string = message.content.split(" ") com_string.shift() @@ -18,6 +18,7 @@ const dotenv = require("dotenv").config(); const TOKEN = process.env.TOKEN; const path = require("path"); let db = require("./src/db"); +let util = require("./src/util") const client = new Client({ intents: [ @@ -119,7 +120,7 @@ fs.readdirSync("./commands/").forEach(folder => { .setName(com.name.replace(/ /g,'-')) .setDescription(com.config.desc) if(com.mod_only) - scom.setDefaultMemberPermissions(PermissionsBitField.Flags.KickMembers) + scom.setDefaultMemberPermissions(PermissionsBitField.Flags.ManageRoles) if(com.s_options!=null){ update_options(scom,com.s_options); } diff --git a/src/util.js b/src/util.js index 880c3c4..601dbec 100644 --- a/src/util.js +++ b/src/util.js @@ -1,6 +1,9 @@ const rem_emp = function (e) {return e !== "";} -module.exports = { +module.exports = { + is_mod(member){ + return member.permissions!=null&&member.roles.cache.has("586781513471885323") + }, generate_id(){ let config = JSON.parse(fs.readFileSync(config_loc)) var ticket = ""; |