fedimbed.bluesky: deleted quote post support, better icons
This commit is contained in:
parent
ec151a9e18
commit
15f709ed13
2 changed files with 33 additions and 8 deletions
|
@ -9,6 +9,7 @@ const logger = require("#lib/logger.js");
|
||||||
const {hasFlag} = require("#lib/guildSettings.js");
|
const {hasFlag} = require("#lib/guildSettings.js");
|
||||||
const InteractionCommand = require("#lib/interactionCommand.js");
|
const InteractionCommand = require("#lib/interactionCommand.js");
|
||||||
|
|
||||||
|
const {Icons} = require("#util/constants.js");
|
||||||
const {MessageFlags, ApplicationCommandOptionTypes, Permissions} = require("#util/dconstants.js");
|
const {MessageFlags, ApplicationCommandOptionTypes, Permissions} = require("#util/dconstants.js");
|
||||||
const {getUploadLimit} = require("#util/misc.js");
|
const {getUploadLimit} = require("#util/misc.js");
|
||||||
const {htmlToMarkdown} = require("#util/html.js");
|
const {htmlToMarkdown} = require("#util/html.js");
|
||||||
|
@ -308,10 +309,10 @@ function processBlueskyFacets(str, facets) {
|
||||||
|
|
||||||
function getStatsBluesky(post) {
|
function getStatsBluesky(post) {
|
||||||
const stats = [];
|
const stats = [];
|
||||||
if (post.replyCount > 0) stats.push(`\u21a9 ${statsFormatter.format(post.replyCount)}`);
|
if (post.replyCount > 0) stats.push(`${Icons.fedimbed.reply} ${statsFormatter.format(post.replyCount)}`);
|
||||||
if (post.repostCount > 0) stats.push(`\ud83d\udd01 ${statsFormatter.format(post.repostCount)}`);
|
if (post.repostCount > 0) stats.push(`${Icons.fedimbed.repost} ${statsFormatter.format(post.repostCount)}`);
|
||||||
if (post.quoteCount > 0) stats.push(`\u2198 ${statsFormatter.format(post.quoteCount)}`);
|
if (post.quoteCount > 0) stats.push(`${Icons.fedimbed.quote} ${statsFormatter.format(post.quoteCount)}`);
|
||||||
if (post.likeCount > 0) stats.push(`\u2665 ${statsFormatter.format(post.likeCount)}`);
|
if (post.likeCount > 0) stats.push(`${Icons.fedimbed.like} ${statsFormatter.format(post.likeCount)}`);
|
||||||
|
|
||||||
return stats.join("\u3000");
|
return stats.join("\u3000");
|
||||||
}
|
}
|
||||||
|
@ -325,6 +326,21 @@ async function blueskyQuoteEmbed(quote) {
|
||||||
let spoiler = false;
|
let spoiler = false;
|
||||||
const tags = [];
|
const tags = [];
|
||||||
|
|
||||||
|
if (quote.notFound) {
|
||||||
|
return {
|
||||||
|
components: [
|
||||||
|
{
|
||||||
|
type: 10,
|
||||||
|
content: `-# ${Icons.fedimbed.quote} Quoted post was deleted`,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
adult,
|
||||||
|
hidden,
|
||||||
|
spoiler,
|
||||||
|
tags,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
for (const label of quote.labels) {
|
for (const label of quote.labels) {
|
||||||
if (label.val === "!hide") {
|
if (label.val === "!hide") {
|
||||||
hidden = true;
|
hidden = true;
|
||||||
|
@ -346,7 +362,7 @@ async function blueskyQuoteEmbed(quote) {
|
||||||
const header = [
|
const header = [
|
||||||
{
|
{
|
||||||
type: 10,
|
type: 10,
|
||||||
content: "-# <:i:1308640087759654922> Quoted Post",
|
content: `-# ${Icons.fedimbed.quote} Quoted Post`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: 9,
|
type: 9,
|
||||||
|
@ -426,7 +442,7 @@ async function blueskyQuoteEmbed(quote) {
|
||||||
components: [
|
components: [
|
||||||
{
|
{
|
||||||
type: 10,
|
type: 10,
|
||||||
content: `${getStatsBluesky(quote)}\n<:i:1362895346690424832> Bluesky \u2022 <t:${Math.floor(
|
content: `-# ${getStatsBluesky(quote)}\n${Icons.fedimbed.bluesky} Bluesky \u2022 <t:${Math.floor(
|
||||||
new Date(quote.value.createdAt).getTime() / 1000
|
new Date(quote.value.createdAt).getTime() / 1000
|
||||||
)}:F>`,
|
)}:F>`,
|
||||||
},
|
},
|
||||||
|
@ -626,7 +642,7 @@ async function bluesky(msg, url, spoiler = false) {
|
||||||
let context = "";
|
let context = "";
|
||||||
if (data.thread.parent) {
|
if (data.thread.parent) {
|
||||||
const reply = data.thread.parent.post;
|
const reply = data.thread.parent.post;
|
||||||
context = `-# <:i:1308640078825787412> Replying to: [${reply.author.displayName} (@${
|
context = `-# ${Icons.fedimbed.reply} Replying to: [${reply.author.displayName} (@${
|
||||||
reply.author.handle
|
reply.author.handle
|
||||||
})](https://bsky.app/profile/${reply.author.did}/post/${reply.uri.substring(reply.uri.lastIndexOf("/") + 1)})`;
|
})](https://bsky.app/profile/${reply.author.did}/post/${reply.uri.substring(reply.uri.lastIndexOf("/") + 1)})`;
|
||||||
}
|
}
|
||||||
|
@ -665,7 +681,7 @@ async function bluesky(msg, url, spoiler = false) {
|
||||||
components: [
|
components: [
|
||||||
{
|
{
|
||||||
type: 10,
|
type: 10,
|
||||||
content: `${getStatsBluesky(post)}\n<:i:1362895346690424832> Bluesky \u2022 <t:${Math.floor(
|
content: `-# ${getStatsBluesky(post)}\n${Icons.fedimbed.bluesky} Bluesky \u2022 <t:${Math.floor(
|
||||||
new Date(post.record.createdAt).getTime() / 1000
|
new Date(post.record.createdAt).getTime() / 1000
|
||||||
)}:F>`,
|
)}:F>`,
|
||||||
},
|
},
|
||||||
|
|
|
@ -575,6 +575,15 @@ module.exports.Icons = {
|
||||||
offline: "<:i:1273105449318875228>",
|
offline: "<:i:1273105449318875228>",
|
||||||
blank: "<:i:1273123564173918268>",
|
blank: "<:i:1273123564173918268>",
|
||||||
boat: "<:i:1273105457661087755>",
|
boat: "<:i:1273105457661087755>",
|
||||||
|
fedimbed: {
|
||||||
|
quote: "<:i:1308640087759654922>",
|
||||||
|
reply: "<:i:1308640078825787412>",
|
||||||
|
repost: "<:i:1362905247181439168>",
|
||||||
|
like: "<:i:1362907286263300356>",
|
||||||
|
bookmark: "<:i:1362908185781997719>",
|
||||||
|
views: "<:i:1362909322597765270>",
|
||||||
|
bluesky: "<:i:1362895346690424832>",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports.ChannelTypeNames = {
|
module.exports.ChannelTypeNames = {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue