utility.flagdump: add --list

This commit is contained in:
Cynthia Foxwell 2023-05-27 11:35:59 -06:00
parent 682ba22b36
commit f4f2015fb3

View file

@ -180,8 +180,7 @@ avatar.callback = async function (msg, line, [user], {server, guild}) {
return "`--server/--guild` can only be used within guilds."; return "`--server/--guild` can only be used within guilds.";
} else { } else {
const guild = msg.channel.guild || hf.bot.guilds.get(msg.guildID); const guild = msg.channel.guild || hf.bot.guilds.get(msg.guildID);
const url = `${ICON_BASE}${guild.id}/${guild.icon}.${ const url = `${ICON_BASE}${guild.id}/${guild.icon}.${guild.icon.startsWith("a_") ? "gif?size=1024&_=.gif" : "png?size=1024"
guild.icon.startsWith("a_") ? "gif?size=1024&_=.gif" : "png?size=1024"
}`; }`;
return { return {
embeds: [ embeds: [
@ -322,8 +321,7 @@ banner.callback = async function (msg, line, [user], {server, guild}) {
if (!guild.banner) return "This guild does not have a banner."; if (!guild.banner) return "This guild does not have a banner.";
const url = `${BANNER_BASE}${guild.id}/${guild.banner}.${ const url = `${BANNER_BASE}${guild.id}/${guild.banner}.${guild.banner.startsWith("a_") ? "gif?size=1024&_=.gif" : "png?size=1024"
guild.banner.startsWith("a_") ? "gif?size=1024&_=.gif" : "png?size=1024"
}`; }`;
return { return {
embeds: [ embeds: [
@ -358,8 +356,7 @@ banner.callback = async function (msg, line, [user], {server, guild}) {
if (!userObj.banner) return "This user does not have a banner."; if (!userObj.banner) return "This user does not have a banner.";
const url = `${BANNER_BASE}${userObj.id}/${userObj.banner}.${ const url = `${BANNER_BASE}${userObj.id}/${userObj.banner}.${userObj.banner.startsWith("a_") ? "gif?size=1024&_=.gif" : "png?size=1024"
userObj.banner.startsWith("a_") ? "gif?size=1024&_=.gif" : "png?size=1024"
}`; }`;
return { return {
embeds: [ embeds: [
@ -451,13 +448,11 @@ lookupinvite.callback = async function (msg, line) {
}, },
invite.guild.welcome_screen && { invite.guild.welcome_screen && {
name: "Welcome Screen", name: "Welcome Screen",
value: `"${ value: `"${invite.guild.welcome_screen.description
invite.guild.welcome_screen.description
}"\n${invite.guild.welcome_screen.welcome_channels }"\n${invite.guild.welcome_screen.welcome_channels
.map( .map(
(c) => (c) =>
`${ `${c.emoji_id
c.emoji_id
? `[:${c.emoji_name}:](${EMOTE_BASE}${c.emoji_id}.webp)` ? `[:${c.emoji_name}:](${EMOTE_BASE}${c.emoji_id}.webp)`
: c.emoji_name : c.emoji_name
} ${c.description} \`(${c.channel_id})\`` } ${c.description} \`(${c.channel_id})\``
@ -484,8 +479,7 @@ lookupinvite.callback = async function (msg, line) {
thumbnail: { thumbnail: {
url: url:
invite.guild.icon && invite.guild.icon &&
`${ICON_BASE}${invite.guild.id}/${invite.guild.icon}.${ `${ICON_BASE}${invite.guild.id}/${invite.guild.icon}.${invite.guild.icon.startsWith("a_")
invite.guild.icon.startsWith("a_")
? "gif?size=1024&_=.gif" ? "gif?size=1024&_=.gif"
: "png?size=1024" : "png?size=1024"
}`, }`,
@ -503,28 +497,20 @@ lookupinvite.callback = async function (msg, line) {
if (invite.guild.icon || invite.guild.splash || invite.guild.banner) { if (invite.guild.icon || invite.guild.splash || invite.guild.banner) {
embed.fields.push({ embed.fields.push({
name: "\u200b", name: "\u200b",
value: `${ value: `${invite.guild.icon
invite.guild.icon ? `[Icon](${ICON_BASE}${invite.guild.id}/${invite.guild.icon}.${invite.guild.icon.startsWith("a_")
? `[Icon](${ICON_BASE}${invite.guild.id}/${invite.guild.icon}.${
invite.guild.icon.startsWith("a_")
? "gif?size=1024" ? "gif?size=1024"
: "png?size=1024" : "png?size=1024"
})` })`
: "" : ""
}${ }${invite.guild.splash
invite.guild.splash ? `${invite.guild.icon ? " | " : ""}[Splash](${SPLASH_BASE}${invite.guild.id
? `${invite.guild.icon ? " | " : ""}[Splash](${SPLASH_BASE}${
invite.guild.id
}/${invite.guild.splash}.png?size=2048)` }/${invite.guild.splash}.png?size=2048)`
: "" : ""
}${ }${invite.guild.banner
invite.guild.banner ? `${invite.guild.icon || invite.guild.splash ? " | " : ""
? `${ }[Banner](${BANNER_BASE}${invite.guild.id}/${invite.guild.banner
invite.guild.icon || invite.guild.splash ? " | " : "" }.${invite.guild.banner.startsWith("a_")
}[Banner](${BANNER_BASE}${invite.guild.id}/${
invite.guild.banner
}.${
invite.guild.banner.startsWith("a_")
? "gif?size=1024" ? "gif?size=1024"
: "png?size=1024" : "png?size=1024"
})` })`
@ -596,9 +582,16 @@ const flagdump = new Command("flagdump");
flagdump.category = CATEGORY; flagdump.category = CATEGORY;
flagdump.helpText = "Dumps Discord user flags."; flagdump.helpText = "Dumps Discord user flags.";
flagdump.usage = "[flags or user mention]"; flagdump.usage = "[flags or user mention]";
flagdump.callback = async function (msg, line, [numOrMention], {id}) { flagdump.callback = async function(msg, line, [numOrMention], { id, list }) {
const num = Number(numOrMention); const num = Number(numOrMention);
if (/<@!?(\d+)>/.test(numOrMention) || !isNaN(id)) { if (list) {
let allFlags = 0n;
for (const index in USER_FLAGS) {
if (USER_FLAGS[index] == undefined) continue;
allFlags += 1n << BigInt(index);
}
return `All flags:\n\`\`\`${flagFromInt(allFlags)}\`\`\``;
} else if (/<@!?(\d+)>/.test(numOrMention) || !isNaN(id)) {
const targetId = id || numOrMention.match(/<@!?(\d+)>/)?.[1]; const targetId = id || numOrMention.match(/<@!?(\d+)>/)?.[1];
if (!targetId) return "Got null ID."; if (!targetId) return "Got null ID.";
const guild = msg.channel.guild || hf.bot.guilds.get(msg.guildID); const guild = msg.channel.guild || hf.bot.guilds.get(msg.guildID);
@ -612,15 +605,13 @@ flagdump.callback = async function (msg, line, [numOrMention], {id}) {
if (!user) { if (!user) {
return "User not cached."; return "User not cached.";
} else { } else {
return `\`${user.username}#${ return `\`${user.username}#${user.discriminator
user.discriminator
}\`'s public flags:\n\`\`\`${flagFromInt(user.publicFlags)}\`\`\``; }\`'s public flags:\n\`\`\`${flagFromInt(user.publicFlags)}\`\`\``;
} }
} else if (!isNaN(num)) { } else if (!isNaN(num)) {
return `\`\`\`\n${flagFromInt(num)}\`\`\``; return `\`\`\`\n${flagFromInt(num)}\`\`\``;
} else { } else {
return `\`${msg.author.username}#${ return `\`${msg.author.username}#${msg.author.discriminator
msg.author.discriminator
}\`'s public flags:\n\`\`\`${flagFromInt(msg.author.publicFlags)}\`\`\``; }\`'s public flags:\n\`\`\`${flagFromInt(msg.author.publicFlags)}\`\`\``;
} }
}; };
@ -797,8 +788,7 @@ presence.callback = async function (msg, line) {
if (activity.emoji) { if (activity.emoji) {
if (activity.emoji.id) { if (activity.emoji.id) {
const url = `${EMOTE_BASE}${activity.emoji.id}.${ const url = `${EMOTE_BASE}${activity.emoji.id}.${activity.emoji.animated ? "gif" : "png"
activity.emoji.animated ? "gif" : "png"
}`; }`;
embed.author = { embed.author = {
url, url,
@ -995,8 +985,7 @@ presence.callback = async function (msg, line) {
} }
return { return {
content: `Presence for **${target.username}#${ content: `Presence for **${target.username}#${target.discriminator
target.discriminator
}**: ${icons.trim()}`, }**: ${icons.trim()}`,
embeds, embeds,
files, files,