Compare commits
No commits in common. "3914429d213184bd1a4b5ea0cb61fab32487d147" and "32262d1caedede9aabd95b075799fc110ccedbba" have entirely different histories.
3914429d21
...
32262d1cae
4 changed files with 64 additions and 86 deletions
|
@ -82,11 +82,11 @@ async function runCommand(msg, cmd, line) {
|
||||||
if (!cmdObj) return null;
|
if (!cmdObj) return null;
|
||||||
|
|
||||||
if (cmdObj.ownerOnly && msg.author.id != hf.config.owner_id) {
|
if (cmdObj.ownerOnly && msg.author.id != hf.config.owner_id) {
|
||||||
return "No\n-# Sent from my iPhone";
|
return "No\n\nSent from my iPhone";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cmdObj.elevatedOnly && !hf.config.elevated.includes(msg.author.id)) {
|
if (cmdObj.elevatedOnly && !hf.config.elevated.includes(msg.author.id)) {
|
||||||
return "No\n-# Sent from my iPhone";
|
return "No\n\nSent from my iPhone";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cmdObj.guildOnly && !msg.guildID) {
|
if (cmdObj.guildOnly && !msg.guildID) {
|
||||||
|
|
|
@ -5,14 +5,14 @@ const {pastelize, getTopColor} = require("../util/misc.js");
|
||||||
async function runCommand(interaction, command) {
|
async function runCommand(interaction, command) {
|
||||||
if (command.ownerOnly && interaction.user.id != hf.config.owner_id) {
|
if (command.ownerOnly && interaction.user.id != hf.config.owner_id) {
|
||||||
return {
|
return {
|
||||||
content: "No\n-# Sent from my iPhone",
|
content: "No\n\nSent from my iPhone",
|
||||||
flags: MessageFlags.EPHEMERAL,
|
flags: MessageFlags.EPHEMERAL,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
if (command.elevatedOnly && !hf.config.elevated.includes(interaction.user.id)) {
|
if (command.elevatedOnly && !hf.config.elevated.includes(interaction.user.id)) {
|
||||||
return {
|
return {
|
||||||
content: "No\n-# Sent from my iPhone",
|
content: "No\n\nSent from my iPhone",
|
||||||
flags: MessageFlags.EPHEMERAL,
|
flags: MessageFlags.EPHEMERAL,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,28 +10,16 @@ avatar.category = "utility";
|
||||||
avatar.helpText = "Get avatar of a user";
|
avatar.helpText = "Get avatar of a user";
|
||||||
avatar.usage = "<user>";
|
avatar.usage = "<user>";
|
||||||
avatar.callback = async function (msg, line, [user], {server, guild}) {
|
avatar.callback = async function (msg, line, [user], {server, guild}) {
|
||||||
let member = msg.member ?? msg.author;
|
|
||||||
|
|
||||||
if (server || guild) {
|
if (server || guild) {
|
||||||
if (!msg.guildID) {
|
if (!msg.guildID) {
|
||||||
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 = CDNEndpoints.GUILD_ICON(guild.id, guild.icon);
|
const url = CDNEndpoints.GUILD_ICON(guild.id, guild.icon);
|
||||||
|
|
||||||
const res = await fetch(url, {method: "HEAD"});
|
|
||||||
const mod = res.headers.get("last-modified");
|
|
||||||
let description;
|
|
||||||
if (mod) {
|
|
||||||
const modDate = Math.floor(new Date(mod).getTime() / 10000);
|
|
||||||
description = `Updated <t:${modDate}:R>`;
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
embeds: [
|
embeds: [
|
||||||
{
|
{
|
||||||
title: "Server Icon",
|
title: "Server Icon",
|
||||||
description,
|
|
||||||
url,
|
url,
|
||||||
image: {
|
image: {
|
||||||
url,
|
url,
|
||||||
|
@ -45,7 +33,16 @@ avatar.callback = async function (msg, line, [user], {server, guild}) {
|
||||||
if (lookup == "No results" || lookup == "Canceled" || lookup == "Request timed out") {
|
if (lookup == "No results" || lookup == "Canceled" || lookup == "Request timed out") {
|
||||||
return lookup;
|
return lookup;
|
||||||
} else {
|
} else {
|
||||||
member = lookup;
|
let member = lookup;
|
||||||
|
const guild = msg.channel.guild || hf.bot.guilds.get(msg.guildID);
|
||||||
|
if (guild) {
|
||||||
|
if (guild.members.has(lookup.id)) {
|
||||||
|
member = guild.members.get(lookup.id);
|
||||||
|
} else {
|
||||||
|
const fetched = await guild.fetchMembers({
|
||||||
|
userIDs: [lookup.id],
|
||||||
|
});
|
||||||
|
member = fetched[0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,25 +57,8 @@ avatar.callback = async function (msg, line, [user], {server, guild}) {
|
||||||
const normalUrl = CDNEndpoints.USER_AVATAR(member.id, normalAvatar);
|
const normalUrl = CDNEndpoints.USER_AVATAR(member.id, normalAvatar);
|
||||||
const guildUrl = CDNEndpoints.GUILD_MEMBER_AVATAR(guild.id, member.id, guildAvatar);
|
const guildUrl = CDNEndpoints.GUILD_MEMBER_AVATAR(guild.id, member.id, guildAvatar);
|
||||||
|
|
||||||
const res = await fetch(normalUrl, {method: "HEAD"});
|
|
||||||
const mod = res.headers.get("last-modified");
|
|
||||||
let modStr = "";
|
|
||||||
if (mod) {
|
|
||||||
const modDate = Math.floor(new Date(mod).getTime() / 10000);
|
|
||||||
modStr = ` \u2022 Updated <t:${modDate}:R>`;
|
|
||||||
}
|
|
||||||
|
|
||||||
const guildRes = await fetch(guildUrl, {method: "HEAD"});
|
|
||||||
const guildMod = guildRes.headers.get("last-modified");
|
|
||||||
let modStrGuild = "";
|
|
||||||
if (guildMod) {
|
|
||||||
const modDate = Math.floor(new Date(guildMod).getTime() / 10000);
|
|
||||||
modStrGuild = ` \u2022 Updated <t:${modDate}:R>`;
|
|
||||||
}
|
|
||||||
|
|
||||||
baseEmbed.description =
|
baseEmbed.description =
|
||||||
`[Normal avatar](${normalUrl})${modStr}` +
|
`[Normal avatar](${normalUrl})` + (guild && guildAvatar ? `\n[Guild avatar](${guildUrl})` : "");
|
||||||
(guild && guildAvatar ? `\n[Guild avatar](${guildUrl})${modStrGuild}` : "");
|
|
||||||
baseEmbed.url = normalUrl;
|
baseEmbed.url = normalUrl;
|
||||||
|
|
||||||
const guildEmbed = {...baseEmbed};
|
const guildEmbed = {...baseEmbed};
|
||||||
|
@ -88,5 +68,31 @@ avatar.callback = async function (msg, line, [user], {server, guild}) {
|
||||||
return {
|
return {
|
||||||
embeds: [baseEmbed, guildAvatar && guildEmbed].filter((x) => x != null),
|
embeds: [baseEmbed, guildAvatar && guildEmbed].filter((x) => x != null),
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const guild = msg.channel.guild ?? hf.bot.guilds.get(msg.guildID);
|
||||||
|
|
||||||
|
const baseEmbed = {
|
||||||
|
title: `Avatar for \`${formatUsername(msg.author)}\``,
|
||||||
|
};
|
||||||
|
|
||||||
|
const normalAvatar = msg.author?.avatar ?? getDefaultAvatar(msg.author.id, msg.author.discriminator);
|
||||||
|
const guildAvatar = msg.member?.avatar;
|
||||||
|
|
||||||
|
const normalUrl = CDNEndpoints.USER_AVATAR(msg.author.id, normalAvatar);
|
||||||
|
const guildUrl = CDNEndpoints.GUILD_MEMBER_AVATAR(guild.id, msg.author.id, guildAvatar);
|
||||||
|
|
||||||
|
baseEmbed.description =
|
||||||
|
`[Normal avatar](${normalUrl})` + (guild && guildAvatar ? `\n[Guild avatar](${guildUrl})` : "");
|
||||||
|
baseEmbed.url = normalUrl;
|
||||||
|
|
||||||
|
const guildEmbed = {...baseEmbed};
|
||||||
|
baseEmbed.image = {url: normalUrl};
|
||||||
|
guildEmbed.image = {url: guildUrl};
|
||||||
|
|
||||||
|
return {
|
||||||
|
embeds: [baseEmbed, guildAvatar && guildEmbed].filter((x) => x != null),
|
||||||
|
};
|
||||||
|
}
|
||||||
};
|
};
|
||||||
hf.registerCommand(avatar);
|
hf.registerCommand(avatar);
|
||||||
|
|
|
@ -21,20 +21,10 @@ 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 = CDNEndpoints.BANNER(guild.id, guild.banner);
|
const url = CDNEndpoints.BANNER(guild.id, guild.banner);
|
||||||
|
|
||||||
const res = await fetch(url, {method: "HEAD"});
|
|
||||||
const mod = res.headers.get("last-modified");
|
|
||||||
let description;
|
|
||||||
if (mod) {
|
|
||||||
const modDate = Math.floor(new Date(mod).getTime() / 10000);
|
|
||||||
description = `Updated <t:${modDate}:R>`;
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
embeds: [
|
embeds: [
|
||||||
{
|
{
|
||||||
title: "Server Banner",
|
title: "Server Banner",
|
||||||
description,
|
|
||||||
url,
|
url,
|
||||||
image: {
|
image: {
|
||||||
url,
|
url,
|
||||||
|
@ -62,29 +52,12 @@ banner.callback = async function (msg, line, [user], {server, guild}) {
|
||||||
if (!userObj.banner && !memberObj?.banner) return "This user does not have a banner.";
|
if (!userObj.banner && !memberObj?.banner) return "This user does not have a banner.";
|
||||||
|
|
||||||
const url = userObj.banner && CDNEndpoints.BANNER(userObj.id, userObj.banner);
|
const url = userObj.banner && CDNEndpoints.BANNER(userObj.id, userObj.banner);
|
||||||
|
|
||||||
const guildUrl = memberObj?.banner && CDNEndpoints.GUILD_MEMBER_BANNER(msg.guildID, userObj.id, memberObj.banner);
|
const guildUrl = memberObj?.banner && CDNEndpoints.GUILD_MEMBER_BANNER(msg.guildID, userObj.id, memberObj.banner);
|
||||||
|
|
||||||
const res = await fetch(url, {method: "HEAD"});
|
|
||||||
const mod = res.headers.get("last-modified");
|
|
||||||
let modStr;
|
|
||||||
if (mod) {
|
|
||||||
const modDate = Math.floor(new Date(mod).getTime() / 10000);
|
|
||||||
modStr = `Updated <t:${modDate}:R>`;
|
|
||||||
}
|
|
||||||
|
|
||||||
const guildRes = await fetch(guildUrl, {method: "HEAD"});
|
|
||||||
const guildMod = guildRes.headers.get("last-modified");
|
|
||||||
let modStrGuild;
|
|
||||||
if (guildMod) {
|
|
||||||
const modDate = Math.floor(new Date(guildMod).getTime() / 10000);
|
|
||||||
modStrGuild = `Updated <t:${modDate}:R>`;
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
embeds: [
|
embeds: [
|
||||||
url && {
|
url && {
|
||||||
title: `Banner for \`${formatUsername(userObj)}\``,
|
title: `Banner for \`${formatUsername(userObj)}\``,
|
||||||
description: modStr,
|
|
||||||
url,
|
url,
|
||||||
image: {
|
image: {
|
||||||
url,
|
url,
|
||||||
|
@ -92,7 +65,6 @@ banner.callback = async function (msg, line, [user], {server, guild}) {
|
||||||
},
|
},
|
||||||
guildUrl && {
|
guildUrl && {
|
||||||
title: `Server banner for \`${formatUsername(userObj)}\``,
|
title: `Server banner for \`${formatUsername(userObj)}\``,
|
||||||
description: modStrGuild,
|
|
||||||
url: guildUrl,
|
url: guildUrl,
|
||||||
image: {
|
image: {
|
||||||
url: guildUrl,
|
url: guildUrl,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue