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