fedimbed: i think its time :)

This commit is contained in:
Cynthia Foxwell 2025-04-18 18:41:48 -06:00
parent 3d56947d05
commit 7557c8ae21
Signed by: Cynosphere
SSH key fingerprint: SHA256:H3SM8ufP/uxqLwKSH7xY89TDnbR9uOHzjLoBr0tlajk
2 changed files with 7 additions and 4 deletions

View file

@ -6,6 +6,7 @@ const flags = Object.freeze({
fedimbed: 1 << 2,
bskyEmbeds: 1 << 3,
bskyQuoteOnly: 1 << 4,
twitterEmbeds: 1 << 5,
});
async function getFlags(guildId) {

View file

@ -928,10 +928,12 @@ function getStatsMasto(post) {
async function processUrl(msg, url, spoiler = false, command = false) {
let canFedi = await hasFlag(msg.guildID, "fedimbed");
let canBsky = await hasFlag(msg.guildID, "bskyEmbeds");
let canTwitter = await hasFlag(msg.guildID, "twitterEmbeds");
if (command === true) {
canFedi = true;
canBsky = true;
canTwitter = true;
}
let invalidUrl = false;
@ -951,7 +953,7 @@ async function processUrl(msg, url, spoiler = false, command = false) {
return {};
}
}
if (!canFedi) return {};
if (!canFedi && !canTwitter) return {};
// some lemmy instances have old reddit frontend subdomains
// but these frontends are just frontends and dont actually expose the API
@ -965,7 +967,7 @@ async function processUrl(msg, url, spoiler = false, command = false) {
if (PATH_REGEX.twitter.test(urlObj.pathname)) {
let hostname = urlObj.hostname.replace(/^www\./, "");
if (TW_DOMAINS.includes(hostname)) {
if (command === true) {
if (canTwitter === true) {
urlObj.hostname = "tw.c7.pm";
url = urlObj.toString();
hostname = "tw.c7.pm";
@ -975,10 +977,10 @@ async function processUrl(msg, url, spoiler = false, command = false) {
logger.info("fedimbed", `Got new Twitter domain: ${hostname}`);
}
if (platform != "Nitter") return {};
if (platform == "Nitter" && command === false) {
if (platform == "Nitter") {
if (hostname != "tw.c7.pm" && hostname != "tw.counter-strike.gay")
logger.info("fedimbed", `Got new Nitter domain running fork: ${hostname}`);
return {};
if (canTwitter === false) return {};
}
}