add permission checks to everything user-facing

This commit is contained in:
derpystuff 2023-06-15 12:09:40 +02:00
parent 9e9c53e1bd
commit 61274d6be5
66 changed files with 276 additions and 27 deletions

View file

@ -6,6 +6,8 @@ const { DISCORD_INVITES, DEFAULT_BOT_PREFIX } = require('../../../labscore/const
const { paginator } = require('../../../labscore/client');
const { editOrReply } = require('../../../labscore/utils/message');
const { Permissions } = require("detritus-client/lib/constants");
function createHelpPage(context, title, contents, descriptions){
return {
"embeds": [
@ -107,6 +109,7 @@ module.exports = {
category: 'core',
usage: 'help [<command>]'
},
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
run: async (context, args) => {
if(args.command){
// Detailed command view

View file

@ -3,6 +3,8 @@ const { codeblock, icon } = require('../../../labscore/utils/markdown')
const { createEmbed } = require('../../../labscore/utils/embed')
const { editOrReply } = require('../../../labscore/utils/message')
const { Permissions } = require("detritus-client/lib/constants");
module.exports = {
description: 'ping!',
name: 'ping',
@ -13,6 +15,7 @@ module.exports = {
category: 'core',
usage: 'ping'
},
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
run: async (context) => {
context.triggerTyping();
ping = await context.client.ping()

View file

@ -3,6 +3,8 @@ const { createEmbed } = require('../../../labscore/utils/embed')
const { editOrReply } = require('../../../labscore/utils/message');
const { PRIVACY_POLICY_LAST_UPDATE, PRIVACY_POLICY_SECTIONS, DISCORD_INVITES, COLORS } = require('../../../labscore/constants');
const { Permissions } = require("detritus-client/lib/constants");
module.exports = {
name: 'privacy',
metadata: {
@ -12,6 +14,7 @@ module.exports = {
category: 'core',
usage: 'privacy'
},
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
run: async (context) => {
return await editOrReply(context,
createEmbed("default", context, {

View file

@ -3,6 +3,8 @@ const { createEmbed } = require('../../../labscore/utils/embed')
const { editOrReply } = require('../../../labscore/utils/message');
const { format } = require('../../../labscore/utils/ansi');
const { Permissions } = require("detritus-client/lib/constants");
module.exports = {
name: 'shard',
metadata: {
@ -12,6 +14,7 @@ module.exports = {
category: 'core',
usage: 'shard'
},
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES],
run: async (context) => {
return await editOrReply(context,
createEmbed("default", context, {

View file

@ -3,6 +3,8 @@ const { createEmbed } = require('../../../labscore/utils/embed')
const { editOrReply } = require('../../../labscore/utils/message');
const { Permissions } = require("detritus-client/lib/constants");
function format(seconds){
function pad(s){
return (s < 10 ? '0' : '') + s;
@ -25,6 +27,7 @@ module.exports = {
category: 'core',
usage: 'stats'
},
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
run: async (context) => {
context.triggerTyping();
try{

View file

@ -1,6 +1,8 @@
const { createEmbed } = require('../../../labscore/utils/embed')
const { editOrReply } = require('../../../labscore/utils/message')
const { Permissions } = require("detritus-client/lib/constants");
module.exports = {
name: 'undo',
default: 1,
@ -12,6 +14,7 @@ module.exports = {
category: 'core',
usage: 'undo [<amount (1-5)>]'
},
permissionsClient: [Permissions.SEND_MESSAGES, Permissions.EMBED_LINKS],
run: async (context, args) => {
try{
if(typeof(args.amount) == "string") args.amount = parseInt(args.amount)