mirror of
https://gitlab.com/bignutty/labscore.git
synced 2025-06-21 12:27:03 -04:00
major cleanup
This commit is contained in:
parent
ddd918470e
commit
a8cf49e31e
60 changed files with 537 additions and 619 deletions
|
@ -1,4 +1,4 @@
|
|||
const { createEmbed, formatPaginationEmbeds } = require('../../../labscore/utils/embed')
|
||||
const { createEmbed, formatPaginationEmbeds, page } = require('../../../labscore/utils/embed')
|
||||
const { pill } = require('../../../labscore/utils/markdown')
|
||||
const { editOrReply } = require('../../../labscore/utils/message')
|
||||
|
||||
|
@ -7,26 +7,22 @@ const { rule34 } = require('../../../labscore/api');
|
|||
|
||||
const { Permissions } = require("detritus-client/lib/constants");
|
||||
|
||||
function createRule34Page(context, result){
|
||||
let res = {
|
||||
"embeds": [
|
||||
createEmbed("default", context, {
|
||||
description: '',
|
||||
image: {
|
||||
url: result.fileUrl
|
||||
},
|
||||
footer: {
|
||||
text: `Rating: ${result.rating}`
|
||||
}
|
||||
})
|
||||
]
|
||||
}
|
||||
|
||||
function createRule34Page(context, result) {
|
||||
let res = page(createEmbed("default", context, {
|
||||
description: '',
|
||||
image: {
|
||||
url: result.fileUrl
|
||||
},
|
||||
footer: {
|
||||
text: `Rating: ${result.rating}`
|
||||
}
|
||||
}))
|
||||
|
||||
// Render a few tags
|
||||
if(result.tags) {
|
||||
if (result.tags) {
|
||||
let tags = result.tags.splice(0, 5)
|
||||
let tagDisplay = ''
|
||||
for(const t of tags) tagDisplay += pill(t)
|
||||
for (const t of tags) tagDisplay += pill(t)
|
||||
res.embeds[0].description += `\n${tagDisplay}`
|
||||
}
|
||||
|
||||
|
@ -56,39 +52,38 @@ module.exports = {
|
|||
usage: 'rule34 <query> [-site <service>]'
|
||||
},
|
||||
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, Permissions.READ_MESSAGE_HISTORY],
|
||||
run: async (context, args) => {
|
||||
context.triggerTyping();
|
||||
|
||||
// very important, maybe make this a command option eventually
|
||||
if(!context.channel.nsfw){
|
||||
return editOrReply(context, {embeds:[createEmbed("nsfw", context)]})
|
||||
if (!context.channel.nsfw) {
|
||||
return editOrReply(context, createEmbed("nsfw", context))
|
||||
}
|
||||
|
||||
if(!args.query) return editOrReply(context, {embeds:[createEmbed("warning", context, `Missing Parameter (query).`)]})
|
||||
if(!Object.keys(SITES).includes(args.site.toLowerCase())) return editOrReply(context, {embeds:[createEmbed("warning", context, `Invalid site type.`)]})
|
||||
try{
|
||||
if (!args.query) return editOrReply(context, createEmbed("warning", context, `Missing Parameter (query).`))
|
||||
if (!Object.keys(SITES).includes(args.site.toLowerCase())) return editOrReply(context, createEmbed("warning", context, `Invalid site type.`))
|
||||
try {
|
||||
let search = await rule34(context, args.query, args.site.toLowerCase())
|
||||
search = search.response
|
||||
|
||||
if(search.body.status == 2) return editOrReply(context, {embeds:[createEmbed("error", context, search.body.message )]})
|
||||
if(search.body.data.length == 0) return editOrReply(context, {embeds:[createEmbed("warning", context, `No results found on ${SITES[args.site.toLowerCase()]}.`)]})
|
||||
|
||||
if (search.body.status == 2) return editOrReply(context, createEmbed("error", context, search.body.message))
|
||||
if (search.body.data.length == 0) return editOrReply(context, createEmbed("warning", context, `No results found on ${SITES[args.site.toLowerCase()]}.`))
|
||||
|
||||
let pages = []
|
||||
for(const res of search.body.data){
|
||||
for (const res of search.body.data) {
|
||||
pages.push(createRule34Page(context, res))
|
||||
}
|
||||
|
||||
pages = formatPaginationEmbeds(pages)
|
||||
const paging = await paginator.createPaginator({
|
||||
|
||||
await paginator.createPaginator({
|
||||
context,
|
||||
pages
|
||||
pages: formatPaginationEmbeds(pages)
|
||||
});
|
||||
}catch(e){
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
return editOrReply(context, {embeds:[createEmbed("error", context, `Unable to perform rule34 search.`)]})
|
||||
return editOrReply(context, createEmbed("error", context, `Unable to perform rule34 search.`))
|
||||
}
|
||||
},
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue