mirror of
https://gitlab.com/bignutty/labscore.git
synced 2025-06-07 21:53:07 -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,3 +1,4 @@
|
|||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
const { renderMusicButtons } = require('#utils/buttons');
|
||||
const { createEmbed } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
|
@ -22,7 +23,7 @@ module.exports = {
|
|||
],
|
||||
run: async (context, args) => {
|
||||
try{
|
||||
await acknowledge(context);
|
||||
await acknowledge(context, false, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
const { message } = args;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
const { googleVisionOcr, googleTranslate } = require('#api');
|
||||
const { TRANSLATE_DISPLAY_MAPPINGS, TRANSLATE_LANGUAGES } = require('#constants');
|
||||
const { TRANSLATE_DISPLAY_MAPPINGS, TRANSLATE_LANGUAGES, PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { getMessageAttachment, validateAttachment } = require('#utils/attachment');
|
||||
const { createEmbed } = require('#utils/embed');
|
||||
|
@ -24,7 +24,7 @@ module.exports = {
|
|||
],
|
||||
run: async (context, args) => {
|
||||
try{
|
||||
await acknowledge(context);
|
||||
await acknowledge(context, false, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
const { message } = args;
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
const { reverseImageSearch } = require('#api');
|
||||
const { paginator } = require('#client');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { getMessageAttachment, validateAttachment } = require('#utils/attachment');
|
||||
const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed');
|
||||
|
@ -46,7 +47,7 @@ module.exports = {
|
|||
],
|
||||
run: async (context, args) => {
|
||||
try{
|
||||
await acknowledge(context);
|
||||
await acknowledge(context, false, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
const { message } = args;
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ const { codeblock } = require('#utils/markdown');
|
|||
const { STATICS } = require('#utils/statics');
|
||||
|
||||
const { ApplicationCommandTypes, MessageFlags } = require("detritus-client/lib/constants");
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
;
|
||||
|
||||
module.exports = {
|
||||
|
@ -21,7 +22,7 @@ module.exports = {
|
|||
1
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context);
|
||||
await acknowledge(context, false, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
try {
|
||||
const { message } = args;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
const { googleTranslate } = require('#api');
|
||||
const { TRANSLATE_DISPLAY_MAPPINGS, TRANSLATE_LANGUAGES, TRANSLATE_LANGUAGE_MAPPINGS, TRANSLATE_DEFAULT_LANGUAGE_LIST } = require('#constants');
|
||||
const { TRANSLATE_DISPLAY_MAPPINGS, TRANSLATE_LANGUAGES, TRANSLATE_LANGUAGE_MAPPINGS, TRANSLATE_DEFAULT_LANGUAGE_LIST, PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
|
@ -22,7 +22,7 @@ module.exports = {
|
|||
1
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context);
|
||||
await acknowledge(context, false, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
const { message } = args;
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
const { otter } = require('#api');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
|
@ -27,7 +28,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
try{
|
||||
const ott = (await otter()).response.body
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
const { createEmbed } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
const { editOrReply } = require('#utils/message');
|
||||
|
@ -32,7 +33,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
if(!args.user) return editOrReply(context, createEmbed("default", context, {
|
||||
image: {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
const { BADGE_ICONS } = require('#constants');
|
||||
const { BADGE_ICONS, PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
|
@ -35,7 +35,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
try{
|
||||
const { user, member } = args;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
const { googleImages } = require('#api');
|
||||
const { paginator } = require('#client');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
|
@ -57,7 +58,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
try {
|
||||
let search = await googleImages(context, args.query, false) //safesearch is always on
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
const { google } = require('#api');
|
||||
const { paginator } = require('#client');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
const { format } = require('#utils/ansi');
|
||||
|
||||
const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed');
|
||||
|
@ -260,7 +261,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
try{
|
||||
let search = await google(context, args.query, false) // safe search is always on
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
const { lyrics } = require('#api');
|
||||
const { paginator } = require('#client');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
|
@ -93,7 +94,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
try{
|
||||
let search = await lyrics(context, args.query)
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
const { maps, mapsSupplemental } = require('#api');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
|
@ -7,7 +8,6 @@ const { editOrReply } = require('#utils/message')
|
|||
const { STATICS, STATIC_ASSETS } = require('#utils/statics');
|
||||
const { ApplicationCommandOptionTypes } = require('detritus-client/lib/constants');
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Components } = require('detritus-client/lib/utils');
|
||||
|
||||
function renderPlaceCard(context, place) {
|
||||
|
@ -108,7 +108,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
try {
|
||||
let search = await maps(context, args.query)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
const { urbandictionary } = require('#api');
|
||||
const { paginator } = require('#client');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
|
@ -7,8 +8,7 @@ const { link, iconPill } = require('#utils/markdown')
|
|||
const { editOrReply } = require('#utils/message')
|
||||
const { STATICS } = require('#utils/statics')
|
||||
|
||||
// TODO: Turn this into a general purpose permissions constant
|
||||
const { Permissions, ApplicationCommandOptionTypes } = require("detritus-client/lib/constants");
|
||||
const { ApplicationCommandOptionTypes } = require("detritus-client/lib/constants");
|
||||
|
||||
function createUrbanPage(context, result){
|
||||
let e = createEmbed("default", context, {
|
||||
|
@ -64,7 +64,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
try{
|
||||
let search = await urbandictionary(context, args.term)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
const { wolframAlpha } = require('#api');
|
||||
const { paginator } = require('#client');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
|
@ -67,7 +68,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
try {
|
||||
let search = await wolframAlpha(context, args.query)
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
const { paginator } = require('#client');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
|
@ -35,7 +36,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
if(!isNaN(parseInt(args.query))){
|
||||
try{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
const { youtube } = require('#api');
|
||||
const { paginator } = require('#client');
|
||||
const { YOUTUBE_CATEGORIES } = require('#constants');
|
||||
const { YOUTUBE_CATEGORIES, PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed, formatPaginationEmbeds, page } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
|
@ -180,7 +180,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
try{
|
||||
if(!args.type) args.type="all"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
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 { acknowledge } = require('#utils/interactions');
|
||||
|
@ -76,7 +76,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
try{
|
||||
let search = await dictionary(context, args.term, "en")
|
||||
|
|
|
@ -11,6 +11,7 @@ const { ingest } = require("#logging");
|
|||
const { Utils } = require("detritus-client");
|
||||
const { InteractionCallbackTypes, ApplicationCommandOptionTypes, DiscordRegexNames } = require("detritus-client/lib/constants");
|
||||
const { Components, Snowflake } = require("detritus-client/lib/utils");
|
||||
const { PERMISSION_GROUPS } = require("#constants");
|
||||
|
||||
const onlyEmoji = require('emoji-aware').onlyEmoji;
|
||||
|
||||
|
@ -64,7 +65,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
const { matches } = Utils.regex(
|
||||
DiscordRegexNames.EMOJI,
|
||||
|
|
|
@ -8,6 +8,7 @@ const { STATICS, STATIC_ASSETS } = require("#utils/statics");
|
|||
const { Components } = require("detritus-client/lib/utils");
|
||||
const { InteractionCallbackTypes, MessageComponentButtonStyles, ApplicationCommandOptionTypes } = require("detritus-client/lib/constants");
|
||||
const { acknowledge } = require("#utils/interactions");
|
||||
const { PERMISSION_GROUPS } = require("#constants");
|
||||
|
||||
const onlyEmoji = require('emoji-aware').onlyEmoji;
|
||||
|
||||
|
@ -59,7 +60,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
const emoji = onlyEmoji(args.emoji)
|
||||
if(!emoji){
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
const { renderMusicButtons } = require('#utils/buttons');
|
||||
const { createEmbed } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
|
@ -37,7 +38,7 @@ module.exports = {
|
|||
],
|
||||
run: async (context, args) => {
|
||||
try{
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
let urls = args.url.match(urlr)
|
||||
if(urls){
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
const { googleVisionOcr } = require("#api");
|
||||
const { PERMISSION_GROUPS } = require("#constants");
|
||||
|
||||
const { validateAttachment } = require("#utils/attachment");
|
||||
const { createEmbed } = require("#utils/embed");
|
||||
|
@ -36,7 +37,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
if(!validateAttachment(args.image, "image")) return await editOrReply(context, createEmbed("warning", context, "Unsupported attachment type."))
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
const { reverseImageSearch } = require("#api");
|
||||
const { paginator } = require("#client");
|
||||
const { PERMISSION_GROUPS } = require("#constants");
|
||||
|
||||
const { validateAttachment } = require("#utils/attachment");
|
||||
const { createEmbed, formatPaginationEmbeds, page } = require("#utils/embed");
|
||||
|
@ -55,7 +56,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
if(!validateAttachment(args.image, "image")) return await editOrReply(context, createEmbed("warning", context, "Unsupported attachment type."))
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
const { PERMISSION_GROUPS } = require("#constants");
|
||||
const { WebUtilsWebPageScreenshot} = require("#obelisk");
|
||||
|
||||
const { createEmbed } = require("#utils/embed");
|
||||
|
@ -33,7 +34,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash, PERMISSION_GROUPS.attachments]);
|
||||
|
||||
await editOrReply(context, createEmbed("loading", context, `Creating website screenshot...`))
|
||||
|
||||
|
|
|
@ -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 } = require('#utils/markdown');
|
||||
|
@ -51,7 +51,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
if(!args.to) args.to = "en";
|
||||
if(!args.from) args.from = "auto";
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
const { darksky } = require('#api');
|
||||
const { paginator } = require('#client');
|
||||
const { PERMISSION_GROUPS } = require('#constants');
|
||||
|
||||
const { createEmbed, page } = require('#utils/embed');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
|
@ -7,7 +8,7 @@ const { pill, iconPill, smallPill, weatherIcon, timestamp, icon, link, stringwra
|
|||
const { editOrReply } = require('#utils/message');
|
||||
const { STATICS } = require('#utils/statics');
|
||||
|
||||
const { ApplicationCommandOptionTypes } = require('detritus-client/lib/constants');
|
||||
const { ApplicationCommandOptionTypes, ApplicationIntegrationTypes, InteractionContextTypes } = require('detritus-client/lib/constants');
|
||||
|
||||
const modifiers = {
|
||||
"°C": (i)=>i,
|
||||
|
@ -94,12 +95,13 @@ module.exports = {
|
|||
name: 'weather',
|
||||
description: 'Check the weather at a location.',
|
||||
contexts: [
|
||||
0,
|
||||
1,
|
||||
2
|
||||
InteractionContextTypes.GUILD,
|
||||
InteractionContextTypes.PRIVATE_CHANNEL,
|
||||
InteractionContextTypes.BOT_DM
|
||||
],
|
||||
integrationTypes: [
|
||||
1
|
||||
ApplicationIntegrationTypes.GUILD_INSTALL,
|
||||
ApplicationIntegrationTypes.USER_INSTALL
|
||||
],
|
||||
options: [
|
||||
{
|
||||
|
@ -137,7 +139,7 @@ module.exports = {
|
|||
}
|
||||
],
|
||||
run: async (context, args) => {
|
||||
await acknowledge(context, args.incognito);
|
||||
await acknowledge(context, args.incognito, [...PERMISSION_GROUPS.baseline_slash]);
|
||||
|
||||
try{
|
||||
let data = await darksky(context, args.location)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue