mirror of
https://gitlab.com/bignutty/labscore.git
synced 2025-06-07 21:53:07 -04:00
add permission checks to everything user-facing
This commit is contained in:
parent
9e9c53e1bd
commit
61274d6be5
66 changed files with 276 additions and 27 deletions
|
@ -6,6 +6,8 @@ const { DISCORD_INVITES, DEFAULT_BOT_PREFIX } = require('../../../labscore/const
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
const { editOrReply } = require('../../../labscore/utils/message');
|
const { editOrReply } = require('../../../labscore/utils/message');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function createHelpPage(context, title, contents, descriptions){
|
function createHelpPage(context, title, contents, descriptions){
|
||||||
return {
|
return {
|
||||||
"embeds": [
|
"embeds": [
|
||||||
|
@ -107,6 +109,7 @@ module.exports = {
|
||||||
category: 'core',
|
category: 'core',
|
||||||
usage: 'help [<command>]'
|
usage: 'help [<command>]'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
if(args.command){
|
if(args.command){
|
||||||
// Detailed command view
|
// Detailed command view
|
||||||
|
|
|
@ -3,6 +3,8 @@ const { codeblock, icon } = require('../../../labscore/utils/markdown')
|
||||||
const { createEmbed } = require('../../../labscore/utils/embed')
|
const { createEmbed } = require('../../../labscore/utils/embed')
|
||||||
const { editOrReply } = require('../../../labscore/utils/message')
|
const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
description: 'ping!',
|
description: 'ping!',
|
||||||
name: 'ping',
|
name: 'ping',
|
||||||
|
@ -13,6 +15,7 @@ module.exports = {
|
||||||
category: 'core',
|
category: 'core',
|
||||||
usage: 'ping'
|
usage: 'ping'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
ping = await context.client.ping()
|
ping = await context.client.ping()
|
||||||
|
|
|
@ -3,6 +3,8 @@ const { createEmbed } = require('../../../labscore/utils/embed')
|
||||||
const { editOrReply } = require('../../../labscore/utils/message');
|
const { editOrReply } = require('../../../labscore/utils/message');
|
||||||
const { PRIVACY_POLICY_LAST_UPDATE, PRIVACY_POLICY_SECTIONS, DISCORD_INVITES, COLORS } = require('../../../labscore/constants');
|
const { PRIVACY_POLICY_LAST_UPDATE, PRIVACY_POLICY_SECTIONS, DISCORD_INVITES, COLORS } = require('../../../labscore/constants');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'privacy',
|
name: 'privacy',
|
||||||
metadata: {
|
metadata: {
|
||||||
|
@ -12,6 +14,7 @@ module.exports = {
|
||||||
category: 'core',
|
category: 'core',
|
||||||
usage: 'privacy'
|
usage: 'privacy'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
return await editOrReply(context,
|
return await editOrReply(context,
|
||||||
createEmbed("default", context, {
|
createEmbed("default", context, {
|
||||||
|
|
|
@ -3,6 +3,8 @@ const { createEmbed } = require('../../../labscore/utils/embed')
|
||||||
const { editOrReply } = require('../../../labscore/utils/message');
|
const { editOrReply } = require('../../../labscore/utils/message');
|
||||||
const { format } = require('../../../labscore/utils/ansi');
|
const { format } = require('../../../labscore/utils/ansi');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'shard',
|
name: 'shard',
|
||||||
metadata: {
|
metadata: {
|
||||||
|
@ -12,6 +14,7 @@ module.exports = {
|
||||||
category: 'core',
|
category: 'core',
|
||||||
usage: 'shard'
|
usage: 'shard'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
return await editOrReply(context,
|
return await editOrReply(context,
|
||||||
createEmbed("default", context, {
|
createEmbed("default", context, {
|
||||||
|
|
|
@ -3,6 +3,8 @@ const { createEmbed } = require('../../../labscore/utils/embed')
|
||||||
|
|
||||||
const { editOrReply } = require('../../../labscore/utils/message');
|
const { editOrReply } = require('../../../labscore/utils/message');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function format(seconds){
|
function format(seconds){
|
||||||
function pad(s){
|
function pad(s){
|
||||||
return (s < 10 ? '0' : '') + s;
|
return (s < 10 ? '0' : '') + s;
|
||||||
|
@ -25,6 +27,7 @@ module.exports = {
|
||||||
category: 'core',
|
category: 'core',
|
||||||
usage: 'stats'
|
usage: 'stats'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
try{
|
try{
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
const { createEmbed } = require('../../../labscore/utils/embed')
|
const { createEmbed } = require('../../../labscore/utils/embed')
|
||||||
const { editOrReply } = require('../../../labscore/utils/message')
|
const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'undo',
|
name: 'undo',
|
||||||
default: 1,
|
default: 1,
|
||||||
|
@ -12,6 +14,7 @@ module.exports = {
|
||||||
category: 'core',
|
category: 'core',
|
||||||
usage: 'undo [<amount (1-5)>]'
|
usage: 'undo [<amount (1-5)>]'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.SEND_MESSAGES, Permissions.EMBED_LINKS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
try{
|
try{
|
||||||
if(typeof(args.amount) == "string") args.amount = parseInt(args.amount)
|
if(typeof(args.amount) == "string") args.amount = parseInt(args.amount)
|
||||||
|
|
|
@ -5,6 +5,8 @@ const superagent = require('superagent');
|
||||||
const { codeblock } = require('../../../labscore/utils/markdown');
|
const { codeblock } = require('../../../labscore/utils/markdown');
|
||||||
const { DEFAULT_BOT_PREFIX } = require('../../../labscore/constants');
|
const { DEFAULT_BOT_PREFIX } = require('../../../labscore/constants');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
const SIZES = Object.freeze({
|
const SIZES = Object.freeze({
|
||||||
"wallpaper": { x: 1120, y: 630},
|
"wallpaper": { x: 1120, y: 630},
|
||||||
"phone": { x: 1170, y: 2353},
|
"phone": { x: 1170, y: 2353},
|
||||||
|
@ -33,6 +35,7 @@ module.exports = {
|
||||||
{ name: 'variance', default: 'rand', required: false, help: "Variance (1000-9999)" },
|
{ name: 'variance', default: 'rand', required: false, help: "Variance (1000-9999)" },
|
||||||
{ name: 'rotate', default: 'rand', required: false, help: "Rotation amount (0-360)" }
|
{ name: 'rotate', default: 'rand', required: false, help: "Rotation amount (0-360)" }
|
||||||
],
|
],
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
let response = await editOrReply(context, createEmbed("loading", context, `Generating image...`))
|
let response = await editOrReply(context, createEmbed("loading", context, `Generating image...`))
|
||||||
try{
|
try{
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
const { createEmbed } = require('../../../labscore/utils/embed')
|
const { createEmbed } = require('../../../labscore/utils/embed')
|
||||||
const { editOrReply } = require('../../../labscore/utils/message')
|
const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
const APPS = [
|
const APPS = [
|
||||||
"appcode",
|
"appcode",
|
||||||
"aqua",
|
"aqua",
|
||||||
|
@ -61,6 +63,7 @@ module.exports = {
|
||||||
category: 'fun',
|
category: 'fun',
|
||||||
usage: `art2`
|
usage: `art2`
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
return editOrReply(context, createEmbed("default", context, {
|
return editOrReply(context, createEmbed("default", context, {
|
||||||
|
|
|
@ -5,6 +5,8 @@ const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
const superagent = require('superagent')
|
const superagent = require('superagent')
|
||||||
const { codeblock } = require('../../../labscore/utils/markdown')
|
const { codeblock } = require('../../../labscore/utils/markdown')
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'ask',
|
name: 'ask',
|
||||||
label: 'text',
|
label: 'text',
|
||||||
|
@ -15,6 +17,7 @@ module.exports = {
|
||||||
category: 'fun',
|
category: 'fun',
|
||||||
usage: 'ask <prompt>'
|
usage: 'ask <prompt>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.text) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (text).`)]})
|
if(!args.text) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (text).`)]})
|
||||||
|
|
|
@ -5,6 +5,8 @@ const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
const superagent = require('superagent')
|
const superagent = require('superagent')
|
||||||
const { codeblock } = require('../../../labscore/utils/markdown')
|
const { codeblock } = require('../../../labscore/utils/markdown')
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'chat',
|
name: 'chat',
|
||||||
label: 'text',
|
label: 'text',
|
||||||
|
@ -15,6 +17,7 @@ module.exports = {
|
||||||
category: 'fun',
|
category: 'fun',
|
||||||
usage: 'chat <prompt>'
|
usage: 'chat <prompt>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.text) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (text).`)]})
|
if(!args.text) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (text).`)]})
|
||||||
|
|
|
@ -6,6 +6,8 @@ const { STATICS } = require('../../../labscore/utils/statics')
|
||||||
const { inferkit } = require('../../../labscore/api')
|
const { inferkit } = require('../../../labscore/api')
|
||||||
const { codeblock } = require('../../../labscore/utils/markdown')
|
const { codeblock } = require('../../../labscore/utils/markdown')
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'inferkit',
|
name: 'inferkit',
|
||||||
aliases: ['complete'],
|
aliases: ['complete'],
|
||||||
|
@ -17,6 +19,7 @@ module.exports = {
|
||||||
category: 'fun',
|
category: 'fun',
|
||||||
usage: 'inferkit <prompt>'
|
usage: 'inferkit <prompt>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.text) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (text).`)]})
|
if(!args.text) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (text).`)]})
|
||||||
|
|
|
@ -4,6 +4,8 @@ const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
const superagent = require('superagent');
|
const superagent = require('superagent');
|
||||||
const { STATICS } = require('../../../labscore/utils/statics');
|
const { STATICS } = require('../../../labscore/utils/statics');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'inspire',
|
name: 'inspire',
|
||||||
metadata: {
|
metadata: {
|
||||||
|
@ -13,6 +15,7 @@ module.exports = {
|
||||||
category: 'fun',
|
category: 'fun',
|
||||||
usage: `inspire`
|
usage: `inspire`
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
await context.triggerTyping();
|
await context.triggerTyping();
|
||||||
try{
|
try{
|
||||||
|
|
|
@ -3,6 +3,8 @@ const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
|
|
||||||
const superagent = require('superagent');
|
const superagent = require('superagent');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'otter',
|
name: 'otter',
|
||||||
metadata: {
|
metadata: {
|
||||||
|
@ -12,6 +14,7 @@ module.exports = {
|
||||||
category: 'fun',
|
category: 'fun',
|
||||||
usage: `otter`
|
usage: `otter`
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
await context.triggerTyping();
|
await context.triggerTyping();
|
||||||
try{
|
try{
|
||||||
|
|
|
@ -4,6 +4,8 @@ const { editOrReply } = require("../../../labscore/utils/message");
|
||||||
const superagent = require('superagent');
|
const superagent = require('superagent');
|
||||||
const { icon, highlight } = require("../../../labscore/utils/markdown");
|
const { icon, highlight } = require("../../../labscore/utils/markdown");
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'texttomusic',
|
name: 'texttomusic',
|
||||||
label: 'query',
|
label: 'query',
|
||||||
|
@ -20,6 +22,7 @@ module.exports = {
|
||||||
limit: 1,
|
limit: 1,
|
||||||
duration: 5000
|
duration: 5000
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
let response = await editOrReply(context, { embeds: [createEmbed("loading", context, `Generating audio...`)] })
|
let response = await editOrReply(context, { embeds: [createEmbed("loading", context, `Generating audio...`)] })
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,8 @@ const { pill } = require("../../../labscore/utils/markdown");
|
||||||
const { editOrReply } = require("../../../labscore/utils/message");
|
const { editOrReply } = require("../../../labscore/utils/message");
|
||||||
const { STATICS } = require("../../../labscore/utils/statics");
|
const { STATICS } = require("../../../labscore/utils/statics");
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'labels',
|
name: 'labels',
|
||||||
metadata: {
|
metadata: {
|
||||||
|
@ -14,6 +16,7 @@ module.exports = {
|
||||||
category: 'utils',
|
category: 'utils',
|
||||||
usage: 'labels <attachment>'
|
usage: 'labels <attachment>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
let image = await getRecentImage(context, 50)
|
let image = await getRecentImage(context, 50)
|
||||||
|
|
|
@ -6,6 +6,8 @@ const { icon, pill, iconPill } = require("../../../labscore/utils/markdown");
|
||||||
const { editOrReply } = require("../../../labscore/utils/message");
|
const { editOrReply } = require("../../../labscore/utils/message");
|
||||||
const { STATICS } = require("../../../labscore/utils/statics");
|
const { STATICS } = require("../../../labscore/utils/statics");
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'safetylabels',
|
name: 'safetylabels',
|
||||||
metadata: {
|
metadata: {
|
||||||
|
@ -15,6 +17,7 @@ module.exports = {
|
||||||
category: 'utils',
|
category: 'utils',
|
||||||
usage: 'safetylabels <attachment>'
|
usage: 'safetylabels <attachment>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
let image = await getRecentImage(context, 50)
|
let image = await getRecentImage(context, 50)
|
||||||
|
|
|
@ -1,15 +1,12 @@
|
||||||
const { createEmbed } = require('../../../labscore/utils/embed')
|
const { createEmbed } = require('../../../labscore/utils/embed')
|
||||||
const { editOrReply } = require('../../../labscore/utils/message')
|
const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
|
|
||||||
const { searchAudio, googleSpeechRecognition } = require('../../../labscore/api');
|
const { googleSpeechRecognition } = require('../../../labscore/api');
|
||||||
const { getRecentVideo } = require('../../../labscore/utils/attachment');
|
|
||||||
const { renderMusicButtons } = require('../../../labscore/utils/buttons');
|
|
||||||
|
|
||||||
const superagent = require('superagent');
|
|
||||||
const { STATICS } = require('../../../labscore/utils/statics');
|
const { STATICS } = require('../../../labscore/utils/statics');
|
||||||
const { codeblock } = require('../../../labscore/utils/markdown');
|
const { codeblock } = require('../../../labscore/utils/markdown');
|
||||||
|
|
||||||
const urlr = /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/g
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'transcribe',
|
name: 'transcribe',
|
||||||
|
@ -21,6 +18,7 @@ module.exports = {
|
||||||
category: 'utils',
|
category: 'utils',
|
||||||
usage: 'transcribe'
|
usage: 'transcribe'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.READ_MESSAGE_HISTORY],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if (!context.message.messageReference) return editOrReply(context, { embeds: [createEmbed("warning", context, "You need to reply to a voice message.")] })
|
if (!context.message.messageReference) return editOrReply(context, { embeds: [createEmbed("warning", context, "You need to reply to a voice message.")] })
|
||||||
|
|
|
@ -4,6 +4,8 @@ const { editOrReply } = require("../../../labscore/utils/message");
|
||||||
const superagent = require('superagent');
|
const superagent = require('superagent');
|
||||||
const { getRecentImage } = require("../../../labscore/utils/attachment");
|
const { getRecentImage } = require("../../../labscore/utils/attachment");
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'anime',
|
name: 'anime',
|
||||||
label: 'query',
|
label: 'query',
|
||||||
|
@ -20,6 +22,7 @@ module.exports = {
|
||||||
limit: 1,
|
limit: 1,
|
||||||
duration: 5000
|
duration: 5000
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
if(!context.channel.nsfw) return editOrReply(context, {embeds:[createEmbed("nsfw", context)]})
|
if(!context.channel.nsfw) return editOrReply(context, {embeds:[createEmbed("nsfw", context)]})
|
||||||
if(args.query.length == 0) return editOrReply(context, {embeds:[createEmbed("warning", context, "Missing prompt")]})
|
if(args.query.length == 0) return editOrReply(context, {embeds:[createEmbed("warning", context, "Missing prompt")]})
|
||||||
|
|
|
@ -3,6 +3,8 @@ const { editOrReply } = require("../../../labscore/utils/message");
|
||||||
|
|
||||||
const superagent = require('superagent');
|
const superagent = require('superagent');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'dalle',
|
name: 'dalle',
|
||||||
label: 'query',
|
label: 'query',
|
||||||
|
@ -19,6 +21,7 @@ module.exports = {
|
||||||
limit: 1,
|
limit: 1,
|
||||||
duration: 5000
|
duration: 5000
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
let response = await editOrReply(context, { embeds: [createEmbed("loading", context, `Synthesizing images...`)] })
|
let response = await editOrReply(context, { embeds: [createEmbed("loading", context, `Synthesizing images...`)] })
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,8 @@ const { editOrReply } = require("../../../../labscore/utils/message");
|
||||||
|
|
||||||
const { deepdream } = require('../../../../labscore/api')
|
const { deepdream } = require('../../../../labscore/api')
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'deepdream',
|
name: 'deepdream',
|
||||||
aliases: ['dd'],
|
aliases: ['dd'],
|
||||||
|
@ -14,6 +16,7 @@ module.exports = {
|
||||||
category: 'image',
|
category: 'image',
|
||||||
usage: 'deepdream <image>'
|
usage: 'deepdream <image>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
try{
|
try{
|
||||||
|
|
|
@ -4,6 +4,8 @@ const { editOrReply } = require("../../../../labscore/utils/message");
|
||||||
|
|
||||||
const { superresolution } = require('../../../../labscore/api')
|
const { superresolution } = require('../../../../labscore/api')
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'superresolution',
|
name: 'superresolution',
|
||||||
aliases: ['sr'],
|
aliases: ['sr'],
|
||||||
|
@ -14,6 +16,7 @@ module.exports = {
|
||||||
category: 'image',
|
category: 'image',
|
||||||
usage: 'superresolution <image>'
|
usage: 'superresolution <image>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
try{
|
try{
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
const { getRecentImage } = require("../../../../labscore/utils/attachment");
|
|
||||||
const { createEmbed } = require("../../../../labscore/utils/embed");
|
const { createEmbed } = require("../../../../labscore/utils/embed");
|
||||||
const { editOrReply } = require("../../../../labscore/utils/message");
|
const { editOrReply } = require("../../../../labscore/utils/message");
|
||||||
|
|
||||||
const { text2image } = require('../../../../labscore/api');
|
const { text2image } = require('../../../../labscore/api');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'text2image',
|
name: 'text2image',
|
||||||
label: 'text',
|
label: 'text',
|
||||||
|
@ -15,6 +16,7 @@ module.exports = {
|
||||||
category: 'image',
|
category: 'image',
|
||||||
usage: 'text2image <image>'
|
usage: 'text2image <image>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
try{
|
try{
|
||||||
|
|
|
@ -4,6 +4,8 @@ const { editOrReply } = require("../../../../labscore/utils/message");
|
||||||
|
|
||||||
const { waifu2x } = require('../../../../labscore/api')
|
const { waifu2x } = require('../../../../labscore/api')
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'waifu2x',
|
name: 'waifu2x',
|
||||||
aliases: ['w2x'],
|
aliases: ['w2x'],
|
||||||
|
@ -14,6 +16,7 @@ module.exports = {
|
||||||
category: 'image',
|
category: 'image',
|
||||||
usage: 'waifu2x <image>'
|
usage: 'waifu2x <image>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
try{
|
try{
|
||||||
|
|
|
@ -4,6 +4,8 @@ const { getRecentImage } = require("../../../labscore/utils/attachment");
|
||||||
|
|
||||||
const superagent = require('superagent');
|
const superagent = require('superagent');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'editimage',
|
name: 'editimage',
|
||||||
label: 'prompt',
|
label: 'prompt',
|
||||||
|
@ -20,6 +22,7 @@ module.exports = {
|
||||||
limit: 1,
|
limit: 1,
|
||||||
duration: 5000
|
duration: 5000
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
if(!args.prompt) return editOrReply(context, { embeds: [createEmbed("warning", context, "Missing prompt.")] })
|
if(!args.prompt) return editOrReply(context, { embeds: [createEmbed("warning", context, "Missing prompt.")] })
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,8 @@ const { getRecentImage } = require("../../../../labscore/utils/attachment");
|
||||||
const { billboardCityscape } = require("../../../../service/makesweet");
|
const { billboardCityscape } = require("../../../../service/makesweet");
|
||||||
const { STATICS } = require("../../../../labscore/utils/statics");
|
const { STATICS } = require("../../../../labscore/utils/statics");
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'billboard',
|
name: 'billboard',
|
||||||
label: 'text',
|
label: 'text',
|
||||||
|
@ -16,6 +18,7 @@ module.exports = {
|
||||||
category: 'image',
|
category: 'image',
|
||||||
usage: 'billboard'
|
usage: 'billboard'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
|
|
||||||
let image = await getRecentImage(context, 50)
|
let image = await getRecentImage(context, 50)
|
||||||
|
|
|
@ -6,6 +6,8 @@ const { getRecentImage } = require("../../../../labscore/utils/attachment");
|
||||||
const { circuitBoard } = require("../../../../service/makesweet");
|
const { circuitBoard } = require("../../../../service/makesweet");
|
||||||
const { STATICS } = require("../../../../labscore/utils/statics");
|
const { STATICS } = require("../../../../labscore/utils/statics");
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'circuitboard',
|
name: 'circuitboard',
|
||||||
label: 'text',
|
label: 'text',
|
||||||
|
@ -16,6 +18,7 @@ module.exports = {
|
||||||
category: 'image',
|
category: 'image',
|
||||||
usage: 'circuitboard'
|
usage: 'circuitboard'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
|
|
||||||
let image = await getRecentImage(context, 50)
|
let image = await getRecentImage(context, 50)
|
||||||
|
|
|
@ -6,6 +6,8 @@ const { getRecentImage } = require("../../../../labscore/utils/attachment");
|
||||||
const { flag } = require("../../../../service/makesweet");
|
const { flag } = require("../../../../service/makesweet");
|
||||||
const { STATICS } = require("../../../../labscore/utils/statics");
|
const { STATICS } = require("../../../../labscore/utils/statics");
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'flag',
|
name: 'flag',
|
||||||
label: 'text',
|
label: 'text',
|
||||||
|
@ -16,6 +18,7 @@ module.exports = {
|
||||||
category: 'image',
|
category: 'image',
|
||||||
usage: 'flag'
|
usage: 'flag'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
|
|
||||||
let image = await getRecentImage(context, 50)
|
let image = await getRecentImage(context, 50)
|
||||||
|
|
|
@ -6,6 +6,8 @@ const { getRecentImage } = require("../../../../labscore/utils/attachment");
|
||||||
const { heartLocket } = require("../../../../service/makesweet");
|
const { heartLocket } = require("../../../../service/makesweet");
|
||||||
const { STATICS } = require("../../../../labscore/utils/statics");
|
const { STATICS } = require("../../../../labscore/utils/statics");
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'heartlocket',
|
name: 'heartlocket',
|
||||||
label: 'text',
|
label: 'text',
|
||||||
|
@ -16,6 +18,7 @@ module.exports = {
|
||||||
category: 'image',
|
category: 'image',
|
||||||
usage: 'heartlocket [<text>]'
|
usage: 'heartlocket [<text>]'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
|
|
||||||
let image = await getRecentImage(context, 50)
|
let image = await getRecentImage(context, 50)
|
||||||
|
|
|
@ -4,6 +4,8 @@ const { STATICS } = require('../../../../labscore/utils/statics')
|
||||||
|
|
||||||
const { retroWave } = require('../../../../labscore/api')
|
const { retroWave } = require('../../../../labscore/api')
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'retro',
|
name: 'retro',
|
||||||
label: 'text',
|
label: 'text',
|
||||||
|
@ -18,6 +20,7 @@ module.exports = {
|
||||||
{default: 5, name: 'background', type: 'integer', help: "Background Style ` 1, 2, 3, 4, 5 `"},
|
{default: 5, name: 'background', type: 'integer', help: "Background Style ` 1, 2, 3, 4, 5 `"},
|
||||||
{default: 4, name: 'style', type: 'integer', help: "Text Style ` 1, 2, 3, 4 `"},
|
{default: 4, name: 'style', type: 'integer', help: "Text Style ` 1, 2, 3, 4 `"},
|
||||||
],
|
],
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.text) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (text).`)]})
|
if(!args.text) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (text).`)]})
|
||||||
|
|
|
@ -4,6 +4,8 @@ const { STATICS } = require('../../../../labscore/utils/statics')
|
||||||
|
|
||||||
const { yacht } = require('../../../../labscore/api')
|
const { yacht } = require('../../../../labscore/api')
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'yacht',
|
name: 'yacht',
|
||||||
label: 'text',
|
label: 'text',
|
||||||
|
@ -14,6 +16,7 @@ module.exports = {
|
||||||
category: 'image',
|
category: 'image',
|
||||||
usage: 'yacht <text>'
|
usage: 'yacht <text>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.text) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (text).`)]})
|
if(!args.text) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (text).`)]})
|
||||||
|
|
|
@ -2,6 +2,8 @@ const { createEmbed } = require("../../../labscore/utils/embed");
|
||||||
const { editOrReply } = require("../../../labscore/utils/message");
|
const { editOrReply } = require("../../../labscore/utils/message");
|
||||||
const { getUser } = require("../../../labscore/utils/users");
|
const { getUser } = require("../../../labscore/utils/users");
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
const superagent = require('superagent')
|
const superagent = require('superagent')
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'pride',
|
name: 'pride',
|
||||||
|
@ -14,6 +16,7 @@ module.exports = {
|
||||||
category: 'image',
|
category: 'image',
|
||||||
usage: 'pride [<user>]'
|
usage: 'pride [<user>]'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.user) args.user = context.userId;
|
if(!args.user) args.user = context.userId;
|
||||||
|
|
|
@ -3,6 +3,8 @@ const { editOrReply } = require("../../../labscore/utils/message");
|
||||||
|
|
||||||
const superagent = require('superagent');
|
const superagent = require('superagent');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'stability',
|
name: 'stability',
|
||||||
label: 'query',
|
label: 'query',
|
||||||
|
@ -19,6 +21,7 @@ module.exports = {
|
||||||
limit: 1,
|
limit: 1,
|
||||||
duration: 5000
|
duration: 5000
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.ATTACH_FILES],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
let response = await editOrReply(context, { embeds: [createEmbed("loading", context, `Synthesizing images...`)] })
|
let response = await editOrReply(context, { embeds: [createEmbed("loading", context, `Synthesizing images...`)] })
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,8 @@ const { icon, highlight, link } = require('../../../labscore/utils/markdown');
|
||||||
|
|
||||||
const superagent = require('superagent');
|
const superagent = require('superagent');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
const applicationFlags = {
|
const applicationFlags = {
|
||||||
EMBEDDED_RELEASED: 1,
|
EMBEDDED_RELEASED: 1,
|
||||||
GATEWAY_PRESENCE: 12,
|
GATEWAY_PRESENCE: 12,
|
||||||
|
@ -43,6 +45,7 @@ module.exports = {
|
||||||
category: 'info',
|
category: 'info',
|
||||||
usage: 'appinfo <application id>'
|
usage: 'appinfo <application id>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
let id;
|
let id;
|
||||||
|
|
|
@ -4,6 +4,8 @@ const { getMember, getUser } = require("../../../labscore/utils/users");
|
||||||
|
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'avatar',
|
name: 'avatar',
|
||||||
label: 'user',
|
label: 'user',
|
||||||
|
@ -15,6 +17,7 @@ module.exports = {
|
||||||
category: 'info',
|
category: 'info',
|
||||||
usage: 'avatar [<user>]'
|
usage: 'avatar [<user>]'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.user) args.user = context.userId;
|
if(!args.user) args.user = context.userId;
|
||||||
|
|
|
@ -5,6 +5,8 @@ const { editOrReply } = require("../../../labscore/utils/message");
|
||||||
|
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'server',
|
name: 'server',
|
||||||
label: 'user',
|
label: 'user',
|
||||||
|
@ -16,6 +18,7 @@ module.exports = {
|
||||||
category: 'info',
|
category: 'info',
|
||||||
usage: 'server'
|
usage: 'server'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
try{
|
try{
|
||||||
const emojis = context.message.guild.emojis
|
const emojis = context.message.guild.emojis
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
const { createEmbed } = require('../../../labscore/utils/embed')
|
const { createEmbed } = require('../../../labscore/utils/embed')
|
||||||
const { editOrReply } = require('../../../labscore/utils/message')
|
const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'servericon',
|
name: 'servericon',
|
||||||
aliases: ["guildicon","gi","si","groupicon"],
|
aliases: ["guildicon","gi","si","groupicon"],
|
||||||
|
@ -11,6 +13,7 @@ module.exports = {
|
||||||
category: 'info',
|
category: 'info',
|
||||||
usage: 'guildicon'
|
usage: 'guildicon'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!context.guild.iconUrl) return editOrReply(context, createEmbed("warning", context, "Server doesn't have an icon."))
|
if(!context.guild.iconUrl) return editOrReply(context, createEmbed("warning", context, "Server doesn't have an icon."))
|
||||||
|
|
|
@ -7,6 +7,8 @@ const { STATICS } = require("../../../labscore/utils/statics");
|
||||||
|
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'invite',
|
name: 'invite',
|
||||||
label: 'invite',
|
label: 'invite',
|
||||||
|
@ -18,6 +20,7 @@ module.exports = {
|
||||||
category: 'info',
|
category: 'info',
|
||||||
usage: 'invite <invite code>'
|
usage: 'invite <invite code>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.invite) return editOrReply(context, { content: `https://canary.discord.com/application-directory/${context.client.user.id}`, embed:createEmbed("default", context, {
|
if(!args.invite) return editOrReply(context, { content: `https://canary.discord.com/application-directory/${context.client.user.id}`, embed:createEmbed("default", context, {
|
||||||
|
|
|
@ -6,6 +6,8 @@ const { getUser, renderBadges } = require("../../../labscore/utils/users");
|
||||||
const { Constants } = require('detritus-client')
|
const { Constants } = require('detritus-client')
|
||||||
const { UserFlags } = Constants
|
const { UserFlags } = Constants
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'user',
|
name: 'user',
|
||||||
label: 'user',
|
label: 'user',
|
||||||
|
@ -17,6 +19,7 @@ module.exports = {
|
||||||
category: 'info',
|
category: 'info',
|
||||||
usage: 'user [<user>]'
|
usage: 'user [<user>]'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
try{
|
try{
|
||||||
|
|
|
@ -2,12 +2,12 @@ const { Constants } = require("detritus-client");
|
||||||
const { perspective } = require("../../../labscore/api");
|
const { perspective } = require("../../../labscore/api");
|
||||||
const { format } = require("../../../labscore/utils/ansi");
|
const { format } = require("../../../labscore/utils/ansi");
|
||||||
const { createEmbed } = require("../../../labscore/utils/embed");
|
const { createEmbed } = require("../../../labscore/utils/embed");
|
||||||
const Permissions = Constants.Permissions;
|
|
||||||
|
|
||||||
const { icon, codeblock, iconPill } = require("../../../labscore/utils/markdown");
|
const { icon, codeblock, iconPill } = require("../../../labscore/utils/markdown");
|
||||||
const { editOrReply } = require("../../../labscore/utils/message");
|
const { editOrReply } = require("../../../labscore/utils/message");
|
||||||
const { STATICS } = require("../../../labscore/utils/statics");
|
const { STATICS } = require("../../../labscore/utils/statics");
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function getPerspectiveColor(score) {
|
function getPerspectiveColor(score) {
|
||||||
if (score >= 0.9) return "m"
|
if (score >= 0.9) return "m"
|
||||||
|
@ -45,6 +45,7 @@ module.exports = {
|
||||||
limit: 1,
|
limit: 1,
|
||||||
duration: 5000
|
duration: 5000
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.READ_MESSAGE_HISTORY],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
await context.triggerTyping();
|
await context.triggerTyping();
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
const { Constants } = require("detritus-client");
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
const Permissions = Constants.Permissions;
|
|
||||||
|
|
||||||
const { icon } = require("../../../labscore/utils/markdown");
|
const { icon } = require("../../../labscore/utils/markdown");
|
||||||
|
|
||||||
|
@ -19,9 +18,8 @@ module.exports = {
|
||||||
{default: 20, name: 'amount', type: 'integer', help: "Amount of messages to be checked (1-20)"},
|
{default: 20, name: 'amount', type: 'integer', help: "Amount of messages to be checked (1-20)"},
|
||||||
{default: true, name: 'case', type: 'bool', help: "If provided, should the search query be case sensitive"},
|
{default: true, name: 'case', type: 'bool', help: "If provided, should the search query be case sensitive"},
|
||||||
],
|
],
|
||||||
permissionsClient: [Permissions.MANAGE_MESSAGES],
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.MANAGE_MESSAGES, Permissions.READ_MESSAGE_HISTORY],
|
||||||
permissions: [Permissions.MANAGE_MESSAGES],
|
permissions: [Permissions.MANAGE_MESSAGES],
|
||||||
onPermissionsFailClient: (context) => context.editOrReply(`${icon("failiure_simple")} ${context.message.author.mention}, the bot needs the \`Manage Messages\` permission to run this command.`),
|
|
||||||
onPermissionsFail: (context) => context.editOrReply(`${icon("failiure_simple")} ${context.message.author.mention}, you are lacking the permission \`Manage Messages\`.`),
|
onPermissionsFail: (context) => context.editOrReply(`${icon("failiure_simple")} ${context.message.author.mention}, you are lacking the permission \`Manage Messages\`.`),
|
||||||
ratelimit: {
|
ratelimit: {
|
||||||
type: 'guild',
|
type: 'guild',
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
const { createEmbed } = require('../../../labscore/utils/embed')
|
const { createEmbed } = require('../../../labscore/utils/embed')
|
||||||
const { editOrReply } = require('../../../labscore/utils/message')
|
const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
|
|
||||||
const { searchAudio } = require('../../../labscore/api');
|
|
||||||
const { getRecentVideo } = require('../../../labscore/utils/attachment');
|
|
||||||
const { renderMusicButtons } = require('../../../labscore/utils/buttons');
|
const { renderMusicButtons } = require('../../../labscore/utils/buttons');
|
||||||
|
|
||||||
const superagent = require('superagent')
|
const superagent = require('superagent')
|
||||||
|
|
||||||
const urlr = /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/g
|
const urlr = /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/g
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'audio',
|
name: 'audio',
|
||||||
aliases: ['aud'],
|
aliases: ['aud'],
|
||||||
|
@ -19,6 +19,7 @@ module.exports = {
|
||||||
category: 'search',
|
category: 'search',
|
||||||
usage: 'audio'
|
usage: 'audio'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS, Permissions.READ_MESSAGE_HISTORY],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if (!context.message.messageReference) return editOrReply(context, { embeds: [createEmbed("warning", context, "You need to reply to a message containing a song link.")] })
|
if (!context.message.messageReference) return editOrReply(context, { embeds: [createEmbed("warning", context, "You need to reply to a message containing a song link.")] })
|
||||||
|
|
|
@ -5,6 +5,8 @@ const { STATICS } = require('../../../labscore/utils/statics')
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
const { bingImages } = require('../../../labscore/api');
|
const { bingImages } = require('../../../labscore/api');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function createImageResultPage(context, result){
|
function createImageResultPage(context, result){
|
||||||
let res = {
|
let res = {
|
||||||
"embeds": [
|
"embeds": [
|
||||||
|
@ -39,6 +41,7 @@ module.exports = {
|
||||||
category: 'search',
|
category: 'search',
|
||||||
usage: 'bing <query>'
|
usage: 'bing <query>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
||||||
|
|
|
@ -6,6 +6,8 @@ const { STATICS } = require('../../../labscore/utils/statics')
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
const { bing } = require('../../../labscore/api');
|
const { bing } = require('../../../labscore/api');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function createSearchResultPage(context, entry){
|
function createSearchResultPage(context, entry){
|
||||||
let res;
|
let res;
|
||||||
switch(entry.type){
|
switch(entry.type){
|
||||||
|
@ -103,6 +105,7 @@ module.exports = {
|
||||||
category: 'search',
|
category: 'search',
|
||||||
usage: 'bing <query>'
|
usage: 'bing <query>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
||||||
|
|
|
@ -5,6 +5,8 @@ const { STATICS } = require('../../../labscore/utils/statics')
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
const { googleImages } = require('../../../labscore/api');
|
const { googleImages } = require('../../../labscore/api');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function createImageResultPage(context, result){
|
function createImageResultPage(context, result){
|
||||||
let res = {
|
let res = {
|
||||||
"embeds": [
|
"embeds": [
|
||||||
|
@ -39,6 +41,7 @@ module.exports = {
|
||||||
category: 'search',
|
category: 'search',
|
||||||
usage: 'image <query>'
|
usage: 'image <query>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
||||||
|
|
|
@ -6,6 +6,8 @@ const { STATICS } = require('../../../labscore/utils/statics')
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
const { google } = require('../../../labscore/api');
|
const { google } = require('../../../labscore/api');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function createSearchResultPage(context, result){
|
function createSearchResultPage(context, result){
|
||||||
let res;
|
let res;
|
||||||
switch(result.type){
|
switch(result.type){
|
||||||
|
@ -62,6 +64,7 @@ module.exports = {
|
||||||
category: 'search',
|
category: 'search',
|
||||||
usage: 'google <query>'
|
usage: 'google <query>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
||||||
|
|
|
@ -5,6 +5,8 @@ const { STATICS } = require('../../../labscore/utils/statics')
|
||||||
const { lyrics } = require('../../../labscore/api');
|
const { lyrics } = require('../../../labscore/api');
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function createLyricsPage(context, search, fields){
|
function createLyricsPage(context, search, fields){
|
||||||
let em = createEmbed("default", context, {
|
let em = createEmbed("default", context, {
|
||||||
author: {
|
author: {
|
||||||
|
@ -32,6 +34,7 @@ module.exports = {
|
||||||
category: 'search',
|
category: 'search',
|
||||||
usage: 'lyrics <query>'
|
usage: 'lyrics <query>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
||||||
|
@ -43,7 +46,7 @@ module.exports = {
|
||||||
let fields = [];
|
let fields = [];
|
||||||
if(search.body.lyrics.includes('[')){
|
if(search.body.lyrics.includes('[')){
|
||||||
// Split lyrics into field-sizes chunks if multiple verses are present
|
// Split lyrics into field-sizes chunks if multiple verses are present
|
||||||
let chunks = search.body.lyrics.split(/\[(.*?)\]/)
|
let chunks = search.body.lyrics.replace(/\[Footnote .*?\]/g,'').split(/\[(.*?)\]/)
|
||||||
let cur = {
|
let cur = {
|
||||||
inline: false
|
inline: false
|
||||||
};
|
};
|
||||||
|
@ -55,7 +58,7 @@ module.exports = {
|
||||||
i += 1
|
i += 1
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
cur.value = c.substr(0,2048)
|
cur.value = c.substr(0,1000)
|
||||||
if(cur.value.endsWith('\n\n')) cur.value = cur.value.substr(0,cur.value.length-1)
|
if(cur.value.endsWith('\n\n')) cur.value = cur.value.substr(0,cur.value.length-1)
|
||||||
cur.value += ``
|
cur.value += ``
|
||||||
i = 0
|
i = 0
|
||||||
|
@ -66,14 +69,14 @@ module.exports = {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let message = createLyricsPage(context, search, [])
|
let message = createLyricsPage(context, search, [])
|
||||||
message.description = search.body.lyrics.substr(0, 2048)
|
message.description = search.body.lyrics.substr(0, 1024)
|
||||||
return editOrReply(context, message)
|
return editOrReply(context, message)
|
||||||
}
|
}
|
||||||
|
|
||||||
if(fields.length > 3){
|
if(fields.length > 2){
|
||||||
let pages = []
|
let pages = []
|
||||||
while(fields.length) {
|
while(fields.length) {
|
||||||
let pageFields = fields.splice(0,3)
|
let pageFields = fields.splice(0,2)
|
||||||
|
|
||||||
// Display less fields if they take up too much vertical space
|
// Display less fields if they take up too much vertical space
|
||||||
while(pageFields.map((f)=>f.value).join('\n').split('\n').length >= 36 && pageFields[1]){
|
while(pageFields.map((f)=>f.value).join('\n').split('\n').length >= 36 && pageFields[1]){
|
||||||
|
@ -100,7 +103,7 @@ module.exports = {
|
||||||
return editOrReply(context, {embeds:[createEmbed("error", context, `Unable to perform lyrics search.`)]})
|
return editOrReply(context, {embeds:[createEmbed("error", context, `Unable to perform lyrics search.`)]})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log(e)
|
//console.log(JSON.stringify(e.raw))
|
||||||
return editOrReply(context, {embeds:[createEmbed("error", context, `Something went wrong.`)]})
|
return editOrReply(context, {embeds:[createEmbed("error", context, `Something went wrong.`)]})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -8,6 +8,8 @@ const { quora, quoraResult } = require('../../../labscore/api');
|
||||||
const { InteractionCallbackTypes } = require('detritus-client/lib/constants');
|
const { InteractionCallbackTypes } = require('detritus-client/lib/constants');
|
||||||
const { Components } = require('detritus-client/lib/utils');
|
const { Components } = require('detritus-client/lib/utils');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function createQuoraAnswerPage(context, question, answer){
|
function createQuoraAnswerPage(context, question, answer){
|
||||||
let tags = question.tags.map((t) => {
|
let tags = question.tags.map((t) => {
|
||||||
return pill(t)
|
return pill(t)
|
||||||
|
@ -126,6 +128,7 @@ module.exports = {
|
||||||
category: 'search',
|
category: 'search',
|
||||||
usage: 'quora <query>'
|
usage: 'quora <query>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
||||||
|
|
|
@ -6,6 +6,8 @@ const { STATICS } = require('../../../labscore/utils/statics')
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
const { reddit } = require('../../../labscore/api');
|
const { reddit } = require('../../../labscore/api');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function createRedditPage(context, result){
|
function createRedditPage(context, result){
|
||||||
let res = {
|
let res = {
|
||||||
"embeds": [
|
"embeds": [
|
||||||
|
@ -56,6 +58,7 @@ module.exports = {
|
||||||
args: [
|
args: [
|
||||||
{ default: "all", name: "type", type: "image", help: "Types of post the search query should return" }
|
{ default: "all", name: "type", type: "image", help: "Types of post the search query should return" }
|
||||||
],
|
],
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
const { createEmbed, formatPaginationEmbeds } = require('../../../labscore/utils/embed')
|
const { createEmbed, formatPaginationEmbeds } = require('../../../labscore/utils/embed')
|
||||||
const { link } = require('../../../labscore/utils/markdown')
|
|
||||||
const { editOrReply } = require('../../../labscore/utils/message')
|
const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
const { STATICS } = require('../../../labscore/utils/statics')
|
const { STATICS } = require('../../../labscore/utils/statics')
|
||||||
const { getRecentImage } = require("../../../labscore/utils/attachment");
|
const { getRecentImage } = require("../../../labscore/utils/attachment");
|
||||||
|
@ -7,6 +6,8 @@ const { getRecentImage } = require("../../../labscore/utils/attachment");
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
const { reverseImageSearch } = require('../../../labscore/api');
|
const { reverseImageSearch } = require('../../../labscore/api');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function createReverseImageSearchResultPage(context, result, source){
|
function createReverseImageSearchResultPage(context, result, source){
|
||||||
let res = {
|
let res = {
|
||||||
"embeds": [
|
"embeds": [
|
||||||
|
@ -43,6 +44,7 @@ module.exports = {
|
||||||
category: 'search',
|
category: 'search',
|
||||||
usage: 'reverse <image>'
|
usage: 'reverse <image>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
try{
|
try{
|
||||||
|
|
|
@ -5,6 +5,8 @@ const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
const { rule34 } = require('../../../labscore/api');
|
const { rule34 } = require('../../../labscore/api');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function createRule34Page(context, result){
|
function createRule34Page(context, result){
|
||||||
let res = {
|
let res = {
|
||||||
"embeds": [
|
"embeds": [
|
||||||
|
@ -56,6 +58,7 @@ module.exports = {
|
||||||
args: [
|
args: [
|
||||||
{name: 'site', default: 'rule34', type: 'string', help: `Site to search on \` ${Object.keys(SITES).join(', ')} \``}
|
{name: 'site', default: 'rule34', type: 'string', help: `Site to search on \` ${Object.keys(SITES).join(', ')} \``}
|
||||||
],
|
],
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,8 @@ const { STATICS } = require('../../../labscore/utils/statics')
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
const { urbandictionary } = require('../../../labscore/api');
|
const { urbandictionary } = require('../../../labscore/api');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function createUrbanPage(context, result){
|
function createUrbanPage(context, result){
|
||||||
let e = createEmbed("default", context, {
|
let e = createEmbed("default", context, {
|
||||||
description: `**${link(result.link, result.title)}**`,
|
description: `**${link(result.link, result.title)}**`,
|
||||||
|
@ -45,6 +47,7 @@ module.exports = {
|
||||||
category: 'search',
|
category: 'search',
|
||||||
usage: 'urbandictionary <query>'
|
usage: 'urbandictionary <query>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
try{
|
try{
|
||||||
|
|
|
@ -5,6 +5,8 @@ const { STATICS } = require('../../../labscore/utils/statics')
|
||||||
const { weather } = require('../../../labscore/api');
|
const { weather } = require('../../../labscore/api');
|
||||||
const { pill, icon } = require('../../../labscore/utils/markdown');
|
const { pill, icon } = require('../../../labscore/utils/markdown');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'weather',
|
name: 'weather',
|
||||||
label: 'query',
|
label: 'query',
|
||||||
|
@ -15,6 +17,7 @@ module.exports = {
|
||||||
category: 'search',
|
category: 'search',
|
||||||
usage: 'weather <location>'
|
usage: 'weather <location>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (location).`)]})
|
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (location).`)]})
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
const { createEmbed, formatPaginationEmbeds } = require('../../../labscore/utils/embed')
|
const { createEmbed, formatPaginationEmbeds } = require('../../../labscore/utils/embed')
|
||||||
const { link } = require('../../../labscore/utils/markdown')
|
|
||||||
const { editOrReply } = require('../../../labscore/utils/message')
|
const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
const { STATICS } = require('../../../labscore/utils/statics')
|
const { STATICS } = require('../../../labscore/utils/statics')
|
||||||
|
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
const { wikihow } = require('../../../labscore/api');
|
const { wikihow } = require('../../../labscore/api');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function createWikiHowPage(context, result){
|
function createWikiHowPage(context, result){
|
||||||
let e = createEmbed("default", context, {
|
let e = createEmbed("default", context, {
|
||||||
author: {
|
author: {
|
||||||
|
@ -36,6 +37,7 @@ module.exports = {
|
||||||
category: 'search',
|
category: 'search',
|
||||||
usage: 'wikihow <query>'
|
usage: 'wikihow <query>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
try{
|
try{
|
||||||
|
|
|
@ -6,6 +6,8 @@ const { paginator } = require('../../../labscore/client');
|
||||||
const { wolframAlpha } = require('../../../labscore/api');
|
const { wolframAlpha } = require('../../../labscore/api');
|
||||||
const { citation } = require('../../../labscore/utils/markdown');
|
const { citation } = require('../../../labscore/utils/markdown');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function getWolframSource(ref, sources){
|
function getWolframSource(ref, sources){
|
||||||
for(const s of Object.values(sources)){
|
for(const s of Object.values(sources)){
|
||||||
if(s.ref == ref) return s
|
if(s.ref == ref) return s
|
||||||
|
@ -52,6 +54,7 @@ module.exports = {
|
||||||
category: 'search',
|
category: 'search',
|
||||||
usage: 'wolframalpha <query>'
|
usage: 'wolframalpha <query>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
||||||
|
|
|
@ -6,6 +6,8 @@ const { STATICS } = require('../../../labscore/utils/statics')
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
const { youtube } = require('../../../labscore/api');
|
const { youtube } = require('../../../labscore/api');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
// https://www.html-code-generator.com/javascript/shorten-long-numbers
|
// https://www.html-code-generator.com/javascript/shorten-long-numbers
|
||||||
const intToString = num => {
|
const intToString = num => {
|
||||||
num = num.toString().replace(/[^0-9.]/g, '');
|
num = num.toString().replace(/[^0-9.]/g, '');
|
||||||
|
@ -100,6 +102,7 @@ module.exports = {
|
||||||
category: 'search',
|
category: 'search',
|
||||||
usage: 'youtube <query>'
|
usage: 'youtube <query>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
||||||
|
|
|
@ -5,6 +5,8 @@ const { editOrReply } = require('../../../labscore/utils/message')
|
||||||
const { paginator } = require('../../../labscore/client');
|
const { paginator } = require('../../../labscore/client');
|
||||||
const { dictionary } = require('../../../labscore/api');
|
const { dictionary } = require('../../../labscore/api');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
function createDictionaryPage(context, result){
|
function createDictionaryPage(context, result){
|
||||||
let phon = ''
|
let phon = ''
|
||||||
if(result.phonetic) phon = `\n*${result.phonetic}*`
|
if(result.phonetic) phon = `\n*${result.phonetic}*`
|
||||||
|
@ -43,6 +45,7 @@ module.exports = {
|
||||||
category: 'search',
|
category: 'search',
|
||||||
usage: 'define <query>'
|
usage: 'define <query>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
try{
|
try{
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
const { Constants, Utils } = require("detritus-client");
|
const { Constants, Utils } = require("detritus-client");
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
const { emojipedia, emojiKitchen } = require("../../../labscore/api");
|
const { emojipedia, emojiKitchen } = require("../../../labscore/api");
|
||||||
|
|
||||||
const { EMOJIPEDIA_PLATFORM_TYPES, EMOJIPEDIA_PLATFORM_TYPE_ALIASES } = require("../../../labscore/constants");
|
const { EMOJIPEDIA_PLATFORM_TYPES, EMOJIPEDIA_PLATFORM_TYPE_ALIASES } = require("../../../labscore/constants");
|
||||||
|
@ -43,6 +44,7 @@ module.exports = {
|
||||||
args: [
|
args: [
|
||||||
{name: 'type', default: 'twitter', type: 'string', help: `Emoji platform type`}
|
{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],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
await context.triggerTyping()
|
await context.triggerTyping()
|
||||||
let msg = context.message;
|
let msg = context.message;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
|
||||||
const { DiscordRegexNames } = require("detritus-client/lib/constants");
|
const { DiscordRegexNames, Permissions } = require("detritus-client/lib/constants");
|
||||||
const { Utils } = require("detritus-client");
|
const { Utils } = require("detritus-client");
|
||||||
|
|
||||||
const { REXTESTER_LANGUAGES, COLORS, REXTESTER_COMPILER_ARGS } = require("../../../labscore/constants");
|
const { REXTESTER_LANGUAGES, COLORS, REXTESTER_COMPILER_ARGS } = require("../../../labscore/constants");
|
||||||
|
@ -10,6 +10,7 @@ const { createEmbed } = require("../../../labscore/utils/embed");
|
||||||
const { codeblock, highlight } = require("../../../labscore/utils/markdown");
|
const { codeblock, highlight } = require("../../../labscore/utils/markdown");
|
||||||
const { editOrReply } = require("../../../labscore/utils/message");
|
const { editOrReply } = require("../../../labscore/utils/message");
|
||||||
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
label: 'code',
|
label: 'code',
|
||||||
name: 'eval',
|
name: 'eval',
|
||||||
|
@ -23,6 +24,7 @@ module.exports = {
|
||||||
args: [
|
args: [
|
||||||
{name: 'lang', default: 'node'}
|
{name: 'lang', default: 'node'}
|
||||||
],
|
],
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,8 @@ const { codeblock } = require("../../../labscore/utils/markdown");
|
||||||
const { editOrReply } = require("../../../labscore/utils/message");
|
const { editOrReply } = require("../../../labscore/utils/message");
|
||||||
const { STATICS } = require("../../../labscore/utils/statics");
|
const { STATICS } = require("../../../labscore/utils/statics");
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'ocr',
|
name: 'ocr',
|
||||||
metadata: {
|
metadata: {
|
||||||
|
@ -14,6 +16,7 @@ module.exports = {
|
||||||
category: 'utils',
|
category: 'utils',
|
||||||
usage: 'ocr <attachment>'
|
usage: 'ocr <attachment>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.READ_MESSAGE_HISTORY, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context) => {
|
run: async (context) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
let image = await getRecentImage(context, 50)
|
let image = await getRecentImage(context, 50)
|
||||||
|
|
|
@ -7,6 +7,7 @@ const { editOrReply } = require("../../../labscore/utils/message");
|
||||||
const { STATICS } = require("../../../labscore/utils/statics");
|
const { STATICS } = require("../../../labscore/utils/statics");
|
||||||
const { isSupported, getCodeFromAny } = require("../../../labscore/utils/translate");
|
const { isSupported, getCodeFromAny } = require("../../../labscore/utils/translate");
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'ocrtr',
|
name: 'ocrtr',
|
||||||
label: 'to',
|
label: 'to',
|
||||||
|
@ -21,6 +22,7 @@ module.exports = {
|
||||||
args: [
|
args: [
|
||||||
{name: 'from', default: 'auto', type: 'string', help: "Language to translate from"}
|
{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],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
context.triggerTyping();
|
context.triggerTyping();
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,8 @@ const { codeblock, icon } = require('../../../labscore/utils/markdown');
|
||||||
|
|
||||||
const superagent = require('superagent');
|
const superagent = require('superagent');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'qr',
|
name: 'qr',
|
||||||
label: 'text',
|
label: 'text',
|
||||||
|
@ -17,6 +19,7 @@ module.exports = {
|
||||||
category: 'utils',
|
category: 'utils',
|
||||||
usage: `qr <contents>`
|
usage: `qr <contents>`
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.READ_MESSAGE_HISTORY, Permissions.ATTACH_FILES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
|
|
||||||
// If we have an argument, generate code
|
// If we have an argument, generate code
|
||||||
|
|
|
@ -4,6 +4,8 @@ const { editOrReply } = require("../../../labscore/utils/message");
|
||||||
|
|
||||||
const superagent = require('superagent')
|
const superagent = require('superagent')
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
async function processJob(jobUrl){
|
async function processJob(jobUrl){
|
||||||
let job = await superagent.get(jobUrl)
|
let job = await superagent.get(jobUrl)
|
||||||
.set('User-Agent', 'labscore/1.0')
|
.set('User-Agent', 'labscore/1.0')
|
||||||
|
@ -22,6 +24,7 @@ module.exports = {
|
||||||
category: 'utils',
|
category: 'utils',
|
||||||
usage: 'screenshot <url>'
|
usage: 'screenshot <url>'
|
||||||
},
|
},
|
||||||
|
permissionsClient: [Permissions.EMBED_LINKS, Permissions.SEND_MESSAGES, Permissions.ATTACH_FILES, Permissions.USE_EXTERNAL_EMOJIS],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
if(!args.url) return editOrReply(context, { embeds: [createEmbed("warning", context, "No url supplied.")] })
|
if(!args.url) return editOrReply(context, { embeds: [createEmbed("warning", context, "No url supplied.")] })
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,8 @@ const { googleTranslate } = require('../../../labscore/api');
|
||||||
const { STATICS } = require('../../../labscore/utils/statics');
|
const { STATICS } = require('../../../labscore/utils/statics');
|
||||||
const { TRANSLATE_LANGUAGES, TRANSLATE_LANGUAGE_MAPPINGS } = require('../../../labscore/constants');
|
const { TRANSLATE_LANGUAGES, TRANSLATE_LANGUAGE_MAPPINGS } = require('../../../labscore/constants');
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants");
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
name: 'translate',
|
name: 'translate',
|
||||||
label: 'text',
|
label: 'text',
|
||||||
|
@ -23,6 +25,7 @@ module.exports = {
|
||||||
{name: 'to', default: 'en', type: 'language', help: "Target Language"},
|
{name: 'to', default: 'en', type: 'language', help: "Target Language"},
|
||||||
{name: 'from', default: 'auto', type: 'language', help: "Source 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],
|
||||||
run: async (context, args) => {
|
run: async (context, args) => {
|
||||||
await context.triggerTyping();
|
await context.triggerTyping();
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
const { Constants, ClusterClient, CommandClient, InteractionCommandClient } = require('detritus-client');
|
const { Constants, ClusterClient, CommandClient, InteractionCommandClient } = require('detritus-client');
|
||||||
const { ActivityTypes, PresenceStatuses, GatewayIntents } = require('detritus-client/lib/constants');
|
const { ActivityTypes, PresenceStatuses, GatewayIntents, Permissions } = require('detritus-client/lib/constants');
|
||||||
|
|
||||||
const Paginator = require('./paginator').PaginatorCluster
|
const Paginator = require('./paginator').PaginatorCluster
|
||||||
|
|
||||||
|
@ -53,13 +53,41 @@ const interactionClient = new InteractionCommandClient(cluster, {
|
||||||
})
|
})
|
||||||
|
|
||||||
const { maintower } = require('./logging');
|
const { maintower } = require('./logging');
|
||||||
const { icon } = require('./utils/markdown');
|
const { icon, highlight, pill } = require('./utils/markdown');
|
||||||
const { editOrReply } = require('./utils/message');
|
const { editOrReply } = require('./utils/message');
|
||||||
|
|
||||||
|
const { PERMISSIONS_TEXT } = require('./constants');
|
||||||
|
const { createEmbed } = require('./utils/embed');
|
||||||
|
|
||||||
|
// Handle missing permission errors
|
||||||
|
commandClient.on('commandPermissionsFailClient', ({context, permissions}) => {
|
||||||
|
const perms = [];
|
||||||
|
for (let permission of permissions) {
|
||||||
|
if (permission in PERMISSIONS_TEXT) {
|
||||||
|
perms.push(highlight(` ${PERMISSIONS_TEXT[permission]} `));
|
||||||
|
} else {
|
||||||
|
perms.push(highlight(` (Unknown: ${permission}) `));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send a nicer looking embed if the bot has permission to do so
|
||||||
|
if(context.channel.can(Permissions.EMBED_LINKS)) return editOrReply(context, createEmbed("errordetail", context, {
|
||||||
|
error: "Missing Permissions",
|
||||||
|
content: `${context.client.user.username} needs the following permissions in <#${context.channel.id}>:\n${perms.join(' ')}`
|
||||||
|
}))
|
||||||
|
return editOrReply(context, {
|
||||||
|
content: `${context.client.user.username} needs the following permissions in <#${context.channel.id}> to execute this command: ${perms.join(', ')}`
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
// Delete command responses if the user chooses to delete their trigger or edits the command away
|
// Delete command responses if the user chooses to delete their trigger or edits the command away
|
||||||
commandClient.on('commandDelete', async ({context, reply}) => {
|
commandClient.on('commandDelete', async ({context, reply}) => {
|
||||||
for(const p of commandPrefixes) if(context.message.content.startsWith(p)) return;
|
if(context.message?.deleted) return reply.delete();
|
||||||
if(context.message?.deleted && !reply.deleted) reply.delete();
|
|
||||||
|
let hasPrefix = false;
|
||||||
|
for(const p of commandPrefixes) if(context.message.content.startsWith(p)) hasPrefix = true;
|
||||||
|
if(!reply.deleted && !hasPrefix) reply.delete();
|
||||||
})
|
})
|
||||||
|
|
||||||
commandClient.on('commandRunError', async ({context, error}) => {
|
commandClient.on('commandRunError', async ({context, error}) => {
|
||||||
|
|
|
@ -666,3 +666,40 @@ module.exports.REXTESTER_COMPILER_ARGS = Object.freeze({
|
||||||
"7": "-Wall -std=c++14 -O2 -o a.out source_file.cpp",
|
"7": "-Wall -std=c++14 -O2 -o a.out source_file.cpp",
|
||||||
"11": "-o a.out source_file.hs"
|
"11": "-o a.out source_file.hs"
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const { Permissions } = require("detritus-client/lib/constants")
|
||||||
|
|
||||||
|
module.exports.PERMISSIONS_TEXT = Object.freeze({
|
||||||
|
[Permissions.ADD_REACTIONS]: "Add Reactions",
|
||||||
|
[Permissions.ADMINISTRATOR]: "Administrator",
|
||||||
|
[Permissions.ATTACH_FILES]: "Attach Files",
|
||||||
|
[Permissions.BAN_MEMBERS]: "Ban Members",
|
||||||
|
[Permissions.CHANGE_NICKNAME]: "Change Nickname",
|
||||||
|
[Permissions.CHANGE_NICKNAMES]: "Change Nicknames",
|
||||||
|
[Permissions.CONNECT]: "Connect",
|
||||||
|
[Permissions.CREATE_INSTANT_INVITE]: "Create Invites",
|
||||||
|
[Permissions.DEAFEN_MEMBERS]: "Deafen Members",
|
||||||
|
[Permissions.EMBED_LINKS]: "Embed Links",
|
||||||
|
[Permissions.KICK_MEMBERS]: "Kick Members",
|
||||||
|
[Permissions.MANAGE_CHANNELS]: "Manage Channels",
|
||||||
|
[Permissions.MANAGE_EMOJIS]: "Manage Emojis",
|
||||||
|
[Permissions.MANAGE_GUILD]: "Manage Guild",
|
||||||
|
[Permissions.MANAGE_MESSAGES]: "Manage Messages",
|
||||||
|
[Permissions.MANAGE_ROLES]: "Manage Roles",
|
||||||
|
[Permissions.MANAGE_WEBHOOKS]: "Manage Webhooks",
|
||||||
|
[Permissions.MENTION_EVERYONE]: "Mention Everyone",
|
||||||
|
[Permissions.MOVE_MEMBERS]: "Move Members",
|
||||||
|
[Permissions.MUTE_MEMBERS]: "Mute Members",
|
||||||
|
[Permissions.NONE]: "None",
|
||||||
|
[Permissions.PRIORITY_SPEAKER]: "Priority Speaker",
|
||||||
|
[Permissions.READ_MESSAGE_HISTORY]: "Read Message History",
|
||||||
|
[Permissions.SEND_MESSAGES]: "Send Messages",
|
||||||
|
[Permissions.SEND_TTS_MESSAGES]: "Text-To-Speech",
|
||||||
|
[Permissions.SPEAK]: "Speak",
|
||||||
|
[Permissions.STREAM]: "Go Live",
|
||||||
|
[Permissions.USE_EXTERNAL_EMOJIS]: "Use External Emojis",
|
||||||
|
[Permissions.USE_VAD]: "Voice Auto Detect",
|
||||||
|
[Permissions.VIEW_AUDIT_LOG]: "View Audit Logs",
|
||||||
|
[Permissions.VIEW_CHANNEL]: "View Channel",
|
||||||
|
[Permissions.VIEW_GUILD_ANALYTICS]: "View Server Insights"
|
||||||
|
});
|
||||||
|
|
|
@ -51,6 +51,15 @@ const embedTypes = Object.freeze({
|
||||||
color: COLORS.error
|
color: COLORS.error
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"errordetail": (context) => {
|
||||||
|
return {
|
||||||
|
author: {
|
||||||
|
iconUrl: STATIC_ICONS.error,
|
||||||
|
name: `Error`
|
||||||
|
},
|
||||||
|
color: COLORS.error
|
||||||
|
}
|
||||||
|
},
|
||||||
"nsfw": (context) => {
|
"nsfw": (context) => {
|
||||||
return {
|
return {
|
||||||
author: {
|
author: {
|
||||||
|
@ -83,6 +92,12 @@ module.exports.createEmbed = function(type, context, content){
|
||||||
return emb
|
return emb
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(["errordetail"].includes(type)){
|
||||||
|
emb.author.name = content.error
|
||||||
|
emb.description = content.content
|
||||||
|
return emb
|
||||||
|
}
|
||||||
|
|
||||||
if(content && content.footer && !content.footer.iconUrl) content.footer.iconUrl = `https://cdn.discordapp.com/avatars/${context.application.id}/${context.application.icon}.png?size=256`
|
if(content && content.footer && !content.footer.iconUrl) content.footer.iconUrl = `https://cdn.discordapp.com/avatars/${context.application.id}/${context.application.icon}.png?size=256`
|
||||||
|
|
||||||
if(["image"].includes(type)){
|
if(["image"].includes(type)){
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue