mirror of
https://github.com/keanuplayz/TravBot-v3.git
synced 2024-08-15 02:33:12 +00:00
Added lsemotes command to util.
This commit is contained in:
parent
10f4f30137
commit
a86e11ed23
1 changed files with 72 additions and 0 deletions
72
src/commands/util.ts
Normal file
72
src/commands/util.ts
Normal file
|
@ -0,0 +1,72 @@
|
|||
import { MessageEmbed } from "discord.js";
|
||||
import Command from '../core/command';
|
||||
import {CommonLibrary} from '../core/lib';
|
||||
|
||||
export default new Command({
|
||||
description: "",
|
||||
endpoint: false,
|
||||
usage: '',
|
||||
async run($: CommonLibrary): Promise<any> {
|
||||
|
||||
},
|
||||
subcommands: {
|
||||
lsemotes: new Command({
|
||||
description: "Lists all emotes the bot has in it's registry,",
|
||||
endpoint: true,
|
||||
async run($: CommonLibrary): Promise<any> {
|
||||
const nsfw: string | string[] = [];
|
||||
const list = $.client.emojis.cache.filter(x => !nsfw.includes(x.guild.id), this)
|
||||
.array();
|
||||
let page = 1;
|
||||
const epg = 20;
|
||||
let content = "";
|
||||
const left = "⬅",
|
||||
right = "➡";
|
||||
var embed = new MessageEmbed()
|
||||
.setTitle("**Emoji list!**")
|
||||
.setColor("AQUA");
|
||||
let owo = list.slice((page - 1) * epg, page * epg);
|
||||
owo.forEach(q => (content += q.toString() + " | " + q.name + "\n"));
|
||||
embed.setDescription(content);
|
||||
const msg = await $.channel.send({
|
||||
embed
|
||||
});
|
||||
if (list.length < epg) return;
|
||||
await msg.react("⬅");
|
||||
await msg.react("➡");
|
||||
const backwardsfilter = (reaction: { emoji: { name: string; }; }, user: { id: any; }) => reaction.emoji.name == left && user.id == $.message.author.id;
|
||||
const forwardsfilter = (reaction: { emoji: { name: string; }; }, user: { id: any; }) => reaction.emoji.name == right && user.id == $.message.author.id;
|
||||
const backwards = msg.createReactionCollector(backwardsfilter, {
|
||||
time: 300000
|
||||
});
|
||||
const forwards = msg.createReactionCollector(forwardsfilter, {
|
||||
time: 300000
|
||||
});
|
||||
backwards.on("collect", () => {
|
||||
if (page < 2) return;
|
||||
// @ts-ignore
|
||||
msg.reactions.cache.find((uwu: { emoji: { name: string; }; }) => (uwu.emoji.name = "⬅"))
|
||||
.users.remove($.message.author)
|
||||
page--;
|
||||
owo = list.slice((page - 1) * epg, page * epg);
|
||||
content = "";
|
||||
owo.forEach(q => (content += q.toString() + " | " + q.name + "\n"));
|
||||
embed.setDescription(content);
|
||||
msg.edit(embed);
|
||||
});
|
||||
forwards.on("collect", () => {
|
||||
if (page > Math.ceil(list.length / epg)) return;
|
||||
page++;
|
||||
// @ts-ignore
|
||||
msg.reactions.cache.find((uwu: { emoji: { name: string; }; }) => uwu.emoji.name == "➡")
|
||||
.users.remove($.message.author)
|
||||
owo = list.slice((page - 1) * epg, page * epg);
|
||||
content = "";
|
||||
owo.forEach(q => (content += q.toString() + " | " + q.name + "\n"));
|
||||
embed.setDescription(content);
|
||||
msg.edit(embed);
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
Loading…
Reference in a new issue