utility: reorganize things code-wise
This commit is contained in:
parent
939effc40a
commit
063dd0c3f1
2 changed files with 119 additions and 117 deletions
1
data/emoji.json
Normal file
1
data/emoji.json
Normal file
File diff suppressed because one or more lines are too long
|
@ -1,12 +1,38 @@
|
|||
const Command = require("../lib/command.js");
|
||||
const CATEGORY = "utility";
|
||||
|
||||
// imports
|
||||
|
||||
const sharp = require("sharp");
|
||||
|
||||
const {
|
||||
hastebin,
|
||||
lookupUser,
|
||||
formatTime,
|
||||
safeString,
|
||||
} = require("../lib/utils.js");
|
||||
const {getNamesFromString} = require("../lib/unicode.js");
|
||||
|
||||
const GameData = require("../../data/games.json");
|
||||
|
||||
const EmojiData = require("../../data/emoji.json");
|
||||
const EMOJI_NAMES = [];
|
||||
for (const emoji of EmojiData) {
|
||||
EMOJI_NAMES[emoji.char] = emoji.name.replace(/ /g, "_");
|
||||
}
|
||||
|
||||
// constants
|
||||
|
||||
const ICON_BASE = "https://cdn.discordapp.com/icons/";
|
||||
const AVATAR_BASE = "https://cdn.discordapp.com/avatars/";
|
||||
const SPLASH_BASE = "https://cdn.discordapp.com/splashes/";
|
||||
const BANNER_BASE = "https://cdn.discordapp.com/banners/";
|
||||
const EMOTE_BASE = "https://cdn.discordapp.com/emojis/";
|
||||
|
||||
const CUSTOM_EMOTE_REGEX = /<(?:\u200b|&)?(a)?:(\w+):(\d+)>/;
|
||||
|
||||
const NOWPLAYING_BAR_LENGTH = 30;
|
||||
|
||||
const STATUS_ICONS = {
|
||||
online: "<:online:493173082421461002>",
|
||||
idle: "<:idle:493173082006093836>",
|
||||
|
@ -14,6 +40,93 @@ const STATUS_ICONS = {
|
|||
offline: "<:offline:493173082253426688>",
|
||||
};
|
||||
|
||||
const PRESENCE_ICONS = {
|
||||
desktop: {
|
||||
online: "<:desktop_online:1028887024670871552>",
|
||||
idle: "<:desktop_idle:1028887022938624033>",
|
||||
dnd: "<:desktop_dnd:1028887021848121364>",
|
||||
},
|
||||
mobile: {
|
||||
online: "<:mobile_online:1028887017637036043>",
|
||||
idle: "<:mobile_idle:1028887019226669116>",
|
||||
dnd: "<:mobile_dnd:1028887020560449637>",
|
||||
},
|
||||
web: {
|
||||
online: "<:web_online:1028887016353574962>",
|
||||
idle: "<:web_idle:1028887014579392592>",
|
||||
dnd: "<:web_dnd:1028887012855525486>",
|
||||
},
|
||||
embedded: {
|
||||
online: "<:embedded_online:1028887010636726313>",
|
||||
idle: "<:embedded_idle:1028887009147760681>",
|
||||
dnd: "<:embedded_dnd:1028887008149516299>",
|
||||
},
|
||||
};
|
||||
|
||||
const PRESENCE_TYPES = [
|
||||
"Playing",
|
||||
"Streaming",
|
||||
"Listening to",
|
||||
"Watching",
|
||||
"",
|
||||
"Competing in",
|
||||
];
|
||||
|
||||
const USER_FLAGS = [
|
||||
"STAFF",
|
||||
"PARTNER",
|
||||
"HYPESQUAD",
|
||||
"BUG_HUNTER_LEVEL_1",
|
||||
"MFA_SMS",
|
||||
"PREMIUM_PROMO_DISMISSED",
|
||||
"HYPESQUAD_ONLINE_HOUSE_1",
|
||||
"HYPESQUAD_ONLINE_HOUSE_2",
|
||||
"HYPESQUAD_ONLINE_HOUSE_3",
|
||||
"PREMIUM_EARLY_SUPPORTER",
|
||||
"TEAM_PSEUDO_USER",
|
||||
"<Internal Application (Partner, etc) Flag>", // leaked
|
||||
"SYSTEM",
|
||||
"HAS_UNREAD_URGENT_MESSAGES",
|
||||
"BUG_HUNTER_LEVEL_2",
|
||||
"UNDERAGE_DELETED",
|
||||
"VERIFIED_BOT",
|
||||
"VERIFIED_DEVELOPER",
|
||||
"CERTIFIED_MODERATOR",
|
||||
"BOT_HTTP_INTERACTIONS",
|
||||
"SPAMMER",
|
||||
"DISABLE_PREMIUM",
|
||||
"ACTIVE_DEVELOPER",
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
"HIGH_GLOBAL_RATE_LIMIT", // start admin panel leak aug 2022
|
||||
"DELETED",
|
||||
"DISABLED_SUSPICIOUS_ACTIVITY",
|
||||
"SELF_DELETED",
|
||||
"PREMIUM_DISCRIMINATOR",
|
||||
"USED_DESKTOP_CLIENT",
|
||||
"USED_WEB_CLIENT",
|
||||
"USED_MOBILE_CLIENT",
|
||||
"DISABLED",
|
||||
undefined,
|
||||
"VERIFIED_EMAIL", // end admin panel leak aug 2022
|
||||
"QUARANTINED",
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
"COLLABORATOR",
|
||||
"RESTRICTED_COLLABORATOR",
|
||||
];
|
||||
|
||||
const EMOJI_SETS = {
|
||||
blobs: {
|
||||
prefix:
|
||||
|
@ -55,19 +168,7 @@ EMOJI_SETS.ms = EMOJI_SETS.mustd;
|
|||
EMOJI_SETS.twitter = EMOJI_SETS.twemoji;
|
||||
EMOJI_SETS.fb = EMOJI_SETS.facebook;
|
||||
|
||||
const CUSTOM_EMOTE_REGEX = /<(?:\u200b|&)?(a)?:(\w+):(\d+)>/;
|
||||
|
||||
const sharp = require("sharp");
|
||||
|
||||
const {
|
||||
hastebin,
|
||||
lookupUser,
|
||||
formatTime,
|
||||
safeString,
|
||||
} = require("../lib/utils.js");
|
||||
const {getNamesFromString} = require("../lib/unicode.js");
|
||||
|
||||
const GameData = require("../../data/games.json");
|
||||
// commands
|
||||
|
||||
const avatar = new Command("avatar");
|
||||
avatar.category = CATEGORY;
|
||||
|
@ -466,61 +567,6 @@ snowflake.callback = function (msg, line, [snowflake], {twitter}) {
|
|||
};
|
||||
hf.registerCommand(snowflake);
|
||||
|
||||
const USER_FLAGS = [
|
||||
"STAFF",
|
||||
"PARTNER",
|
||||
"HYPESQUAD",
|
||||
"BUG_HUNTER_LEVEL_1",
|
||||
"MFA_SMS",
|
||||
"PREMIUM_PROMO_DISMISSED",
|
||||
"HYPESQUAD_ONLINE_HOUSE_1",
|
||||
"HYPESQUAD_ONLINE_HOUSE_2",
|
||||
"HYPESQUAD_ONLINE_HOUSE_3",
|
||||
"PREMIUM_EARLY_SUPPORTER",
|
||||
"TEAM_PSEUDO_USER",
|
||||
"<Internal Application (Partner, etc) Flag>", // leaked
|
||||
"SYSTEM",
|
||||
"HAS_UNREAD_URGENT_MESSAGES",
|
||||
"BUG_HUNTER_LEVEL_2",
|
||||
"UNDERAGE_DELETED",
|
||||
"VERIFIED_BOT",
|
||||
"VERIFIED_DEVELOPER",
|
||||
"CERTIFIED_MODERATOR",
|
||||
"BOT_HTTP_INTERACTIONS",
|
||||
"SPAMMER",
|
||||
"DISABLE_PREMIUM",
|
||||
"ACTIVE_DEVELOPER",
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
"HIGH_GLOBAL_RATE_LIMIT", // start admin panel leak aug 2022
|
||||
"DELETED",
|
||||
"DISABLED_SUSPICIOUS_ACTIVITY",
|
||||
"SELF_DELETED",
|
||||
"PREMIUM_DISCRIMINATOR",
|
||||
"USED_DESKTOP_CLIENT",
|
||||
"USED_WEB_CLIENT",
|
||||
"USED_MOBILE_CLIENT",
|
||||
"DISABLED",
|
||||
undefined,
|
||||
"VERIFIED_EMAIL", // end admin panel leak aug 2022
|
||||
"QUARANTINED",
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
undefined,
|
||||
"COLLABORATOR",
|
||||
"RESTRICTED_COLLABORATOR",
|
||||
];
|
||||
|
||||
function flagFromInt(int) {
|
||||
const bits = int.toString(2);
|
||||
const splitBits = bits.split("").reverse();
|
||||
|
@ -580,15 +626,6 @@ flagdump.callback = async function (msg, line, [numOrMention], {id}) {
|
|||
};
|
||||
hf.registerCommand(flagdump);
|
||||
|
||||
const emojiNames = [];
|
||||
fetch("https://unpkg.com/emoji.json/emoji.json")
|
||||
.then((res) => res.json())
|
||||
.then((body) =>
|
||||
body.map(
|
||||
(emoji) => (emojiNames[emoji.char] = emoji.name.replace(/ /g, "_"))
|
||||
)
|
||||
);
|
||||
|
||||
const jumbo = new Command("jumbo");
|
||||
jumbo.category = CATEGORY;
|
||||
jumbo.helpText = "Gets the raw image of an emoji.";
|
||||
|
@ -628,17 +665,15 @@ jumbo.callback = async function (msg, line) {
|
|||
.join(set.sep);
|
||||
const url = set.prefix + emoji + set.suffix;
|
||||
|
||||
const name = emojiNames[line]
|
||||
? `\\:${emojiNames[line]}\\:`
|
||||
const name = EMOJI_NAMES[line]
|
||||
? `\\:${EMOJI_NAMES[line]}\\:`
|
||||
: await getNamesFromString(line).then((name) =>
|
||||
name.map((x) => x[1]).join(", ")
|
||||
);
|
||||
|
||||
const statusCode = await fetch(url, {method: "HEAD"}).then(
|
||||
(res) => res.status
|
||||
);
|
||||
const emojiFound = await fetch(url, {method: "HEAD"}).then((res) => res.ok);
|
||||
|
||||
if (statusCode !== 200) {
|
||||
if (emojiFound) {
|
||||
return "Emoji not found. The emoji set chosen might not have this emote as an image.";
|
||||
}
|
||||
|
||||
|
@ -705,40 +740,6 @@ charinfo.callback = async function (msg, line) {
|
|||
};
|
||||
hf.registerCommand(charinfo);
|
||||
|
||||
const PRESENCE_ICONS = {
|
||||
desktop: {
|
||||
online: "<:desktop_online:1028887024670871552>",
|
||||
idle: "<:desktop_idle:1028887022938624033>",
|
||||
dnd: "<:desktop_dnd:1028887021848121364>",
|
||||
},
|
||||
mobile: {
|
||||
online: "<:mobile_online:1028887017637036043>",
|
||||
idle: "<:mobile_idle:1028887019226669116>",
|
||||
dnd: "<:mobile_dnd:1028887020560449637>",
|
||||
},
|
||||
web: {
|
||||
online: "<:web_online:1028887016353574962>",
|
||||
idle: "<:web_idle:1028887014579392592>",
|
||||
dnd: "<:web_dnd:1028887012855525486>",
|
||||
},
|
||||
embedded: {
|
||||
online: "<:embedded_online:1028887010636726313>",
|
||||
idle: "<:embedded_idle:1028887009147760681>",
|
||||
dnd: "<:embedded_dnd:1028887008149516299>",
|
||||
},
|
||||
};
|
||||
|
||||
const PRESENCE_TYPES = [
|
||||
"Playing",
|
||||
"Streaming",
|
||||
"Listening to",
|
||||
"Watching",
|
||||
"",
|
||||
"Competing in",
|
||||
];
|
||||
|
||||
const NOWPLAYING_BAR_LENGTH = 30;
|
||||
|
||||
const presence = new Command("presence");
|
||||
presence.category = CATEGORY;
|
||||
presence.helpText = "Get presences of a user.";
|
||||
|
|
Loading…
Reference in a new issue