Files
lamp a1bbeb6054 selfbot
just use on my own account edit my own messages
2026-07-27 10:37:03 +00:00

35 lines
1.2 KiB
JavaScript

var cache = new Map();
export async function resolveServer(hs_name) {
var server = cache.get(hs_name);
if (server) return server;
try {
let res = await fetch(`https://${hs_name}/.well-known/matrix/server`);
let json = await res.json();
var server = json["m.server"];
} catch (error) {
console.warn(`Failed look up delegated server for ${hs_name}`, error.message);
}
if (!server) server = server.includes(':') ? server : server + ":8448";
cache.set(hs_name, server);
return server;
}
export function formatBytes(bytes, decimals = 3) {
if (bytes == undefined) return bytes;
if (bytes == 0) return "0 Bytes";
const k = 1024;
const dm = decimals < 0 ? 0 : decimals;
const sizes = ['Bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];
const i = Math.floor(Math.log(bytes) / Math.log(k));
return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;
}
var durationFormat = new Intl.DurationFormat("en", {style: "digital"});
export function formatDuration(ms) {
return durationFormat.format({
hours: Math.floor(ms / (1000 * 60 * 60)),
minutes: Math.floor((ms / (1000 * 60)) % 60),
seconds: Math.floor((ms / 1000) % 60)
});
}