Compare commits

..

2 commits

Author SHA1 Message Date
e1b16065b0
cache command 2025-07-18 23:59:59 -06:00
bd825c5104
userinfo: check nick equal for title 2025-07-18 23:59:51 -06:00
2 changed files with 78 additions and 4 deletions

View file

@ -0,0 +1,75 @@
const {readFile} = require("node:fs/promises");
const Command = require("#lib/command.js");
const {APIEndpoints} = require("#util/dconstants.js");
const {Icons} = require("#util/constants.js");
const cache = new Command("cache");
cache.category = "utility";
cache.helpText = "Cache a user to your client from their ID";
cache.usage = "<user id>";
cache.callback = async function (msg, id) {
if (id == msg.author?.id ?? msg.user?.id) return "Can't cache yourself.";
try {
await hf.bot.requestHandler.request("GET", APIEndpoints.USER(id), true);
} catch (err) {
if (err.code == 10013) {
return "User not found.";
} else {
return `${Icons.silk.error} Failed to validate user exists:\n\`\`\`\n${err}\`\`\``;
}
}
let member;
if (msg.guildID) {
const guild = msg.channel.guild ?? hf.bot.guilds.get(msg.guildID);
member = guild?.members?.get(id);
}
if (member != null) {
return `"Cached" <@${id}>\n-# User is in this server silly`;
}
const attachments = [];
try {
const clip = {
is_clip: true,
clip_created_at: new Date().toISOString(),
clip_participant_ids: [id],
application_id: hf.bot.application?.id,
};
const video = await readFile(require.resolve("#root/data/clip.mp4"));
const {upload_url, upload_filename} = await hf.bot.requestHandler
.request("POST", APIEndpoints.MESSAGE_CREATE_ATTACHMENT_UPLOAD(msg.channel.id), true, {
files: [
{
file_size: video.length,
filename: "clip.mp4",
...clip,
},
],
})
.then((res) => res.attachments[0]);
await fetch(upload_url, {method: "PUT", body: video});
attachments.push({
filename: "clip.mp4",
uploaded_filename: upload_filename,
is_thumbnail: true,
...clip,
});
} catch (err) {
return `${Icons.silk.error} Failed to create clip for caching:\n\`\`\`\n${err}\`\`\``;
}
return {
content: `Cached <@${id}>`,
attachments,
};
};

View file

@ -362,11 +362,10 @@ userinfo.callback = async function (msg, line) {
}
const shared = Array.from(hf.bot.guilds.values()).filter((g) => g.members.get(id) != null);
const displayName = user.global_name ?? user.username;
const descLines = [
`# ${member?.nick ? member.nick : user.global_name ?? user.username} ${
user.bot ? Icons.boat.replace(":i:", ":Bot:") : ""
}`,
`# ${member?.nick ? member.nick : displayName} ${user.bot ? Icons.boat.replace(":i:", ":Bot:") : ""}`,
`${formatUsername(user).replace("@", "")} \u2022 <@${id}>`,
];
let subline = "";
@ -449,7 +448,7 @@ userinfo.callback = async function (msg, line) {
name: user.primary_guild.tag,
}
: null,
title: member?.nick ? user.global_name ?? user.username : null,
title: member?.nick && member.nick !== displayName ? displayName : null,
thumbnail: {
url: guildAvatar || avatar,
},