parent
56f70acb3e
commit
79aa23f675
@ -0,0 +1,54 @@ |
||||
const Discord = require('discord.js'); |
||||
const fz = require('fuzzysort'); |
||||
|
||||
const {Pagination} = require('../../util/pagination'); |
||||
|
||||
module.exports = { |
||||
name: "listanime", |
||||
aliases: ['la', 'listani', 'lanime', 'allani', 'allanime', 'anilist', 'animelist', 'anil'], |
||||
meta: { |
||||
category: 'Anime', |
||||
description: "View a list of every anime Natsuki has in her database at the moment", |
||||
syntax: '`listanime [query]`', |
||||
extra: null |
||||
}, |
||||
help: new Discord.MessageEmbed() |
||||
.setTitle("Help -> Anime Listing") |
||||
.setDescription("See a list of every Natsuki anime, or add a search query.") |
||||
.addField("Syntax", "`listanime [query]`"), |
||||
async execute(message, msg, args, cmd, prefix, mention, client) { |
||||
let anime = []; |
||||
let matches = `anime in the database`; |
||||
|
||||
if (args.length) { |
||||
anime = fz.go(args.join(" "), Array.from(client.misc.cache.animeID.values()), {limit: 200}).sort((a,b)=>a.score-b.score).map(k => client.misc.cache.anime.get(k.target)); |
||||
console.log(anime); |
||||
if (!anime.length) {return message.channel.send("That query returned no results!");} |
||||
matches = `matches`; |
||||
} else {anime = Array.from(client.misc.cache.animeID.keys());} |
||||
|
||||
let pages = []; |
||||
let pl = (Math.floor(anime.length / 10) + 1); |
||||
for (let i = 0; i < pl; i++) { |
||||
if (!anime[(i * 10) + 1]) {break;} |
||||
let s = `${anime.length} ${matches}.\n\n`; |
||||
let ps = []; |
||||
for (let x = 0; x < 10; x++) { |
||||
if (!anime[(i * 10) + x]) {break;} |
||||
ps.push(`**${x + (i * 10) + 1}.** ${client.misc.cache.animeID.get(anime[(i * 10) + x])}`); |
||||
} |
||||
s = `${s}${ps.join('\n')}`; |
||||
pages.push(new Discord.MessageEmbed() |
||||
.setTitle("Anime Database") |
||||
.setThumbnail(client.user.avatarURL({size: 1024, dynamic: true, format: 'png'})) |
||||
.setDescription(s) |
||||
.setColor('c375f0') |
||||
.setTimestamp() |
||||
); |
||||
} |
||||
if (pages.length > 1) { |
||||
let pag = new Pagination(message.channel, pages, message, client, true); |
||||
return await pag.start({user: message.author.id, time: 60000}); |
||||
} else {return message.channel.send({embeds: [pages[0].setFooter({text: "Natsuki"})]});} |
||||
} |
||||
}; |
Loading…
Reference in new issue