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
|
@ -1,15 +1,12 @@
|
|||
const { dictionary } = require('#api');
|
||||
const { paginator } = require('#client');
|
||||
const { TRANSLATE_LANGUAGE_MAPPINGS, DICTIONARY_LANGUAGES } = require('#constants');
|
||||
const { TRANSLATE_LANGUAGE_MAPPINGS, DICTIONARY_LANGUAGES, PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed')
|
||||
const { link, iconPill, smallPill, icon, iconLinkPill, pill } = require('#utils/markdown')
|
||||
const { editOrReply } = require('#utils/message')
|
||||
const { dictionaryGetCodeFromAny } = require('#utils/translate');
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
const LABELS = {
|
||||
"offensive": `${iconPill("warning", "Offensive")}`
|
||||
}
|
||||
|
@ -65,7 +62,7 @@ module.exports = {
|
|||
args: [
|
||||
{name: 'lang', default: 'en', type: 'language', help: "Language to define in"},
|
||||
],
|
||||
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();
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
const { emojipedia, emojiKitchen } = require("#api");
|
||||
const { EMOJIPEDIA_PLATFORM_TYPES, EMOJIPEDIA_PLATFORM_TYPE_ALIASES } = require("#constants");
|
||||
const { EMOJIPEDIA_PLATFORM_TYPES, EMOJIPEDIA_PLATFORM_TYPE_ALIASES, PERMISSION_GROUPS } = require("#constants");
|
||||
const { ingest } = require("#logging");
|
||||
|
||||
const { createEmbed } = require("#utils/embed");
|
||||
|
@ -9,8 +9,7 @@ const { STATICS, STATIC_ASSETS } = require("#utils/statics");
|
|||
|
||||
const { Utils } = require("detritus-client");
|
||||
const { Components, Snowflake } = require("detritus-client/lib/utils");
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions, InteractionCallbackTypes, DiscordRegexNames } = require("detritus-client/lib/constants");
|
||||
const { InteractionCallbackTypes, DiscordRegexNames } = require("detritus-client/lib/constants");
|
||||
const { bold } = require("detritus-client/lib/utils/markup");
|
||||
|
||||
const onlyEmoji = require('emoji-aware').onlyEmoji;
|
||||
|
@ -51,7 +50,7 @@ module.exports = {
|
|||
args: [
|
||||
{name: 'type', default: 'twitter', type: 'string', help: `Emoji platform type`}
|
||||
],
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.READ_MESSAGE_HISTORY, Permissions.USE_EXTERNAL_EMOJIS],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context, args) => {
|
||||
await context.triggerTyping()
|
||||
let msg = context.message;
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
const { emojipedia } = require("#api");
|
||||
const { PERMISSION_GROUPS } = require("#constants");
|
||||
|
||||
const { createEmbed } = require("#utils/embed");
|
||||
const { pill, smallIconPill } = require("#utils/markdown");
|
||||
const { editOrReply } = require("#utils/message");
|
||||
const { STATICS, STATIC_ASSETS } = require("#utils/statics");
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions, InteractionCallbackTypes, MessageComponentButtonStyles } = require("detritus-client/lib/constants");
|
||||
const { InteractionCallbackTypes, MessageComponentButtonStyles } = require("detritus-client/lib/constants");
|
||||
const { Components } = require("detritus-client/lib/utils");
|
||||
|
||||
const onlyEmoji = require('emoji-aware').onlyEmoji;
|
||||
|
@ -43,7 +43,7 @@ module.exports = {
|
|||
usage: 'emojipedia <emoji>',
|
||||
slashCommand: "emojipedia"
|
||||
},
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.READ_MESSAGE_HISTORY, Permissions.USE_EXTERNAL_EMOJIS],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context, args) => {
|
||||
await context.triggerTyping()
|
||||
let msg = context.message;
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
const { REXTESTER_LANGUAGES, COLORS, REXTESTER_COMPILER_ARGS } = require("#constants");
|
||||
const { REXTESTER_LANGUAGES, COLORS, REXTESTER_COMPILER_ARGS, PERMISSION_GROUPS } = require("#constants");
|
||||
|
||||
const { createEmbed } = require("#utils/embed");
|
||||
const { codeblock, highlight } = require("#utils/markdown");
|
||||
const { editOrReply } = require("#utils/message");
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { DiscordRegexNames, Permissions } = require("detritus-client/lib/constants");
|
||||
const { DiscordRegexNames } = require("detritus-client/lib/constants");
|
||||
const { Utils } = require("detritus-client");
|
||||
|
||||
const superagent = require('superagent')
|
||||
|
@ -23,7 +22,7 @@ module.exports = {
|
|||
args: [
|
||||
{name: 'lang', default: 'node'}
|
||||
],
|
||||
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();
|
||||
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
const { paginator } = require("#client");
|
||||
const { COLORS } = require("#constants");
|
||||
const { COLORS, PERMISSION_GROUPS } = require("#constants");
|
||||
|
||||
const { createEmbed, page, formatPaginationEmbeds } = require("#utils/embed");
|
||||
const { codeblock, pill, smallIconPill } = require("#utils/markdown");
|
||||
const { editOrReply } = require("#utils/message");
|
||||
const { STATIC_ICONS } = require("#utils/statics");
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
const superagent = require('superagent');
|
||||
|
||||
const TEX_REGEX = /(\$\$?.*?\$\$?)/g
|
||||
|
@ -24,7 +21,7 @@ module.exports = {
|
|||
category: 'utils',
|
||||
usage: 'latex <expression> [-i]'
|
||||
},
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.READ_MESSAGE_HISTORY, Permissions.USE_EXTERNAL_EMOJIS],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context, args) => {
|
||||
context.triggerTyping();
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
const { googleVisionOcr } = require("#api");
|
||||
const { PERMISSION_GROUPS } = require("#constants");
|
||||
|
||||
const { getRecentImage } = require("#utils/attachment");
|
||||
const { createEmbed } = require("#utils/embed");
|
||||
|
@ -6,9 +7,6 @@ const { codeblock, smallIconPill } = require("#utils/markdown");
|
|||
const { editOrReply } = require("#utils/message");
|
||||
const { STATICS } = require("#utils/statics");
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
module.exports = {
|
||||
name: 'ocr',
|
||||
metadata: {
|
||||
|
@ -18,7 +16,7 @@ module.exports = {
|
|||
usage: 'ocr <attachment>',
|
||||
slashCommand: "OCR"
|
||||
},
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.READ_MESSAGE_HISTORY, Permissions.USE_EXTERNAL_EMOJIS],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context) => {
|
||||
context.triggerTyping();
|
||||
let image = await getRecentImage(context, 50)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
const { googleVisionOcr, googleTranslate } = require("#api");
|
||||
const { TRANSLATE_LANGUAGES, TRANSLATE_DISPLAY_MAPPINGS } = require("#constants");
|
||||
const { TRANSLATE_LANGUAGES, TRANSLATE_DISPLAY_MAPPINGS, PERMISSION_GROUPS } = require("#constants");
|
||||
|
||||
const { getRecentImage } = require("#utils/attachment");
|
||||
const { createEmbed } = require("#utils/embed");
|
||||
|
@ -8,9 +8,6 @@ const { editOrReply } = require("#utils/message");
|
|||
const { STATICS } = require("#utils/statics");
|
||||
const { isSupported, getCodeFromAny } = require('#utils/translate');
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
module.exports = {
|
||||
name: 'ocrtr',
|
||||
label: 'to',
|
||||
|
@ -26,7 +23,7 @@ module.exports = {
|
|||
args: [
|
||||
{name: 'from', default: 'auto', type: 'string', help: "Language to translate from"}
|
||||
],
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.READ_MESSAGE_HISTORY, Permissions.USE_EXTERNAL_EMOJIS],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context, args) => {
|
||||
context.triggerTyping();
|
||||
|
||||
|
|
|
@ -4,10 +4,8 @@ const { editOrReply } = require('#utils/message')
|
|||
const { codeblock, icon, smallIconPill } = require('#utils/markdown');
|
||||
const { STATICS } = require('#utils/statics');
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
const superagent = require('superagent');
|
||||
const { PERMISSION_GROUPS } = require("#constants");
|
||||
|
||||
module.exports = {
|
||||
name: 'qr',
|
||||
|
@ -20,7 +18,7 @@ module.exports = {
|
|||
category: 'utils',
|
||||
usage: `qr <contents>`
|
||||
},
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.READ_MESSAGE_HISTORY, Permissions.ATTACH_FILES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline, ...PERMISSION_GROUPS.attachments],
|
||||
run: async (context, args) => {
|
||||
|
||||
// If we have an argument, generate code
|
||||
|
|
|
@ -1,11 +1,9 @@
|
|||
const { PERMISSION_GROUPS } = require("#constants");
|
||||
const { WebUtilsWebPageScreenshot} = require("#obelisk");
|
||||
|
||||
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 = {
|
||||
label: "url",
|
||||
name: "screenshot",
|
||||
|
@ -18,7 +16,7 @@ module.exports = {
|
|||
usage: 'screenshot <url>',
|
||||
slashCommand: "screenshot"
|
||||
},
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.ATTACH_FILES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.READ_MESSAGE_HISTORY],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline, ...PERMISSION_GROUPS.attachments],
|
||||
run: async (context, args) => {
|
||||
if (!args.url) return editOrReply(context, createEmbed("warning", context, "No url supplied."))
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
const { googleTranslate } = require('#api');
|
||||
const { TRANSLATE_LANGUAGES, TRANSLATE_DISPLAY_MAPPINGS } = require('#constants');
|
||||
const { TRANSLATE_LANGUAGES, TRANSLATE_DISPLAY_MAPPINGS, PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed } = require('#utils/embed')
|
||||
const { codeblock, icon, pill, stringwrap, smallIconPill } = require('#utils/markdown');
|
||||
|
@ -7,9 +7,6 @@ const { editOrReply } = require('#utils/message')
|
|||
const { STATICS } = require('#utils/statics');
|
||||
const { isSupported, getCodeFromAny } = require('#utils/translate');
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
module.exports = {
|
||||
name: 'translate',
|
||||
label: 'text',
|
||||
|
@ -25,7 +22,7 @@ module.exports = {
|
|||
{name: 'to', default: 'en', type: 'language', help: "Target Language"},
|
||||
{name: 'from', default: 'auto', type: 'language', help: "Source Language"}
|
||||
],
|
||||
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.READ_MESSAGE_HISTORY, Permissions.USE_EXTERNAL_EMOJIS],
|
||||
permissionsClient: [...PERMISSION_GROUPS.baseline],
|
||||
run: async (context, args) => {
|
||||
await context.triggerTyping();
|
||||
|
||||
|
|
|
@ -1,14 +1,12 @@
|
|||
const { darksky } = require('#api');
|
||||
const { paginator } = require('#client');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed, page } = require('#utils/embed')
|
||||
const { pill, iconPill, smallPill, weatherIcon, timestamp, icon, link, stringwrap} = require('#utils/markdown');
|
||||
const { editOrReply } = require('#utils/message')
|
||||
const { STATICS } = require('#utils/statics');
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
const modifiers = {
|
||||
"°C": (i)=>i,
|
||||
"°F": (i)=>(i*(9/5))+32,
|
||||
|
@ -114,7 +112,7 @@ module.exports = {
|
|||
args: [
|
||||
{name: 't', default: 'celcius', type: 'units', help: "Temperature Units to use."},
|
||||
],
|
||||
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.query) return editOrReply(context, createEmbed("warning", context, `Missing Parameter (location).`))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue