mirror of
https://gitlab.com/bignutty/labscore.git
synced 2025-06-08 22:23:03 -04:00
- properly handle permissions for user commands
- add central permission group constant
This commit is contained in:
parent
dcb823a0a1
commit
d2aeecf70d
100 changed files with 245 additions and 942 deletions
|
@ -2,12 +2,10 @@ const { createEmbed } = require("#utils/embed");
|
|||
const { icon, highlight, link, stringwrap } = require('#utils/markdown');
|
||||
const { editOrReply } = require("#utils/message");
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
const superagent = require('superagent');
|
||||
|
||||
const { Routes } = require('detritus-client-rest/lib/endpoints');
|
||||
const { PERMISSION_GROUPS } = require("#constants");
|
||||
|
||||
const applicationFlags = {
|
||||
EMBEDDED_RELEASED: 1,
|
||||
|
@ -48,7 +46,7 @@ module.exports = {
|
|||
category: 'info',
|
||||
usage: 'appinfo <application id>'
|
||||
},
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.READ_MESSAGE_HISTORY],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context, args) => {
|
||||
context.triggerTyping();
|
||||
let id;
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
const { paginator } = require('#client');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed, page } = require("#utils/embed");
|
||||
const { icon } = require('#utils/markdown');
|
||||
const { editOrReply } = require("#utils/message");
|
||||
const { getUser, getUserAvatar } = require("#utils/users");
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
module.exports = {
|
||||
name: 'avatar',
|
||||
label: 'user',
|
||||
|
@ -20,7 +18,7 @@ module.exports = {
|
|||
usage: 'avatar [<user>]',
|
||||
slashCommmand: 'avatar'
|
||||
},
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.READ_MESSAGE_HISTORY],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context, args) => {
|
||||
context.triggerTyping();
|
||||
if(!args.user) args.user = context.userId;
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
const { paginator } = require('#client');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed, page } = require("#utils/embed");
|
||||
const { icon } = require('#utils/markdown');
|
||||
const { editOrReply } = require("#utils/message");
|
||||
const { getUser } = require("#utils/users");
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
module.exports = {
|
||||
name: 'banner',
|
||||
label: 'user',
|
||||
|
@ -20,7 +18,7 @@ module.exports = {
|
|||
usage: 'avatar [<user>]',
|
||||
slashCommmand: 'banner'
|
||||
},
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.READ_MESSAGE_HISTORY],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context, args) => {
|
||||
context.triggerTyping();
|
||||
if(!args.user) args.user = context.userId;
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
const { paginator } = require('#client');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed, page, formatPaginationEmbeds } = require("#utils/embed");
|
||||
const { guildFeaturesField } = require("#utils/fields");
|
||||
const { icon, highlight, timestamp, codeblock, smallIconPill } = require("#utils/markdown");
|
||||
const { editOrReply } = require("#utils/message");
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
module.exports = {
|
||||
name: 'server',
|
||||
label: 'user',
|
||||
|
@ -18,7 +16,7 @@ module.exports = {
|
|||
category: 'info',
|
||||
usage: 'server'
|
||||
},
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.READ_MESSAGE_HISTORY],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context) => {
|
||||
try{
|
||||
const emojis = context.message.guild.emojis
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
const { createEmbed } = require('#utils/embed')
|
||||
const { editOrReply } = require('#utils/message')
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
module.exports = {
|
||||
name: 'serverbanner',
|
||||
aliases: ["guildbanner", "gb", "sb", "groupbanner"],
|
||||
|
@ -13,7 +11,7 @@ module.exports = {
|
|||
category: 'info',
|
||||
usage: 'serverbanner'
|
||||
},
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.READ_MESSAGE_HISTORY],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context) => {
|
||||
context.triggerTyping();
|
||||
if (!context.guild.bannerUrl) return editOrReply(context, createEmbed("warning", context, "Server doesn't have a banner set."))
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
const { createEmbed } = require('#utils/embed')
|
||||
const { editOrReply } = require('#utils/message')
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
module.exports = {
|
||||
name: 'servericon',
|
||||
aliases: ["guildicon", "gi", "si", "groupicon"],
|
||||
|
@ -13,7 +11,7 @@ module.exports = {
|
|||
category: 'info',
|
||||
usage: 'servericon'
|
||||
},
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.READ_MESSAGE_HISTORY],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context) => {
|
||||
context.triggerTyping();
|
||||
if (!context.guild.iconUrl) return editOrReply(context, createEmbed("warning", context, "Server doesn't have an icon."))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
const { paginator } = require('#client');
|
||||
const { DISCORD_INVITES, OPEN_SOURCE_REPOSITORY_URL } = require("#constants");
|
||||
const { DISCORD_INVITES, OPEN_SOURCE_REPOSITORY_URL, PERMISSION_GROUPS } = require("#constants");
|
||||
|
||||
const { createEmbed, formatPaginationEmbeds, page } = require("#utils/embed");
|
||||
const { guildFeaturesField } = require("#utils/fields");
|
||||
|
@ -7,9 +7,6 @@ const { icon, highlight, timestamp, iconPill, iconLinkPill, link } = require("#u
|
|||
const { editOrReply } = require("#utils/message");
|
||||
const { STATIC_ASSETS } = require("#utils/statics");
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
module.exports = {
|
||||
name: 'invite',
|
||||
label: 'invite',
|
||||
|
@ -21,7 +18,7 @@ module.exports = {
|
|||
category: 'info',
|
||||
usage: 'invite <invite code>'
|
||||
},
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.READ_MESSAGE_HISTORY],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context, args) => {
|
||||
context.triggerTyping();
|
||||
if(!args.invite) return editOrReply(context, {
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
const { paginator } = require('#client');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
const { PERMISSION_CATEGORIES, PERMISSIONS_TEXT } = require('#permissions');
|
||||
|
||||
const { createEmbed, page, formatPaginationEmbeds } = require("#utils/embed");
|
||||
const { guildFeaturesField } = require("#utils/fields");
|
||||
const { icon, highlight, timestamp, codeblock, iconPill, smallPill, pill } = require("#utils/markdown");
|
||||
const { icon, iconPill, smallPill, pill } = require("#utils/markdown");
|
||||
const { editOrReply } = require("#utils/message");
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
const { PermissionTools } = require('detritus-client/lib/utils');
|
||||
|
||||
// TODO: Move this to a utility module
|
||||
|
@ -96,7 +94,7 @@ module.exports = {
|
|||
category: 'info',
|
||||
usage: 'role <name|id>'
|
||||
},
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.READ_MESSAGE_HISTORY],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context, args) => {
|
||||
let r = context.guild.roles.filter((r)=>r.name.toLowerCase().includes(args.query.toLowerCase()) || r.id == args.query)[0]
|
||||
|
||||
|
@ -146,9 +144,7 @@ module.exports = {
|
|||
|
||||
pages.push(page(newPage))
|
||||
}
|
||||
|
||||
|
||||
|
||||
await paginator.createPaginator({
|
||||
context,
|
||||
pages: formatPaginationEmbeds(pages)
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
const { paginator } = require("#client");
|
||||
const { BADGE_ICONS } = require("#constants");
|
||||
const { PERMISSION_GROUPS } = require("#constants");
|
||||
|
||||
const { createEmbed, page } = require("#utils/embed");
|
||||
const { icon, highlight, timestamp, smallIconPill, smallPill } = require("#utils/markdown");
|
||||
const { editOrReply } = require("#utils/message");
|
||||
const { getUser, renderBadges, getUserAvatar } = require("#utils/users");
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { UserFlags, Permissions } = require("detritus-client/lib/constants");
|
||||
const { UserFlags } = require("detritus-client/lib/constants");
|
||||
|
||||
module.exports = {
|
||||
name: 'user',
|
||||
|
@ -21,7 +20,7 @@ module.exports = {
|
|||
usage: 'user [<user>]',
|
||||
slashCommand: 'user'
|
||||
},
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.READ_MESSAGE_HISTORY],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context, args) => {
|
||||
context.triggerTyping();
|
||||
try{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue