You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Natsuki/util/cache/anime.js

31 lines
1.2 KiB

const Discord = require('discord.js');
const chalk = require('chalk');
const AniData = require('../../models/anime');
module.exports = async (client, spinner) => {
return new Promise(async resolve => {
client.misc.cache.anime = new Discord.Collection();
client.misc.cache.animeID = new Discord.Collection();
client.misc.cache.animeLove = new Discord.Collection();
client.misc.cache.animeNum = 0;
let amount = 0;
for await (const ani of AniData.find()) {
if (ani.queued !== true) {
client.misc.cache.anime.set(ani.japname, ani.id);
client.misc.cache.anime.set(ani.name, ani.id);
if (ani.altNames) {ani.altNames.forEach(altName => client.misc.cache.anime.set(altName, ani.id));}
client.misc.cache.animeID.set(ani.id, ani.name);
client.misc.cache.animeLove.set(ani.id, ani.watchers);
client.misc.cache.animeNum++;
spinner.update({text: `${chalk.gray('[PROC]')} >> ${chalk.blueBright(`Cached`)} ${chalk.white(`${amount}`)} ${chalk.blueBright(`animes into lookup registry.`)}`});
amount++;
}
3 years ago
}
spinner.status('non-spinnable');
resolve(0);
});
}