mirror of
https://gitlab.com/bignutty/labscore.git
synced 2025-06-07 21:53:07 -04:00
add support for acronym guild icons
This commit is contained in:
parent
a68f5ab3e7
commit
c8783b12bc
3 changed files with 26 additions and 14 deletions
|
@ -3,6 +3,7 @@ const { PERMISSION_GROUPS } = require('#constants');
|
||||||
|
|
||||||
const { createEmbed, page, formatPaginationEmbeds } = require("#utils/embed");
|
const { createEmbed, page, formatPaginationEmbeds } = require("#utils/embed");
|
||||||
const { guildFeaturesField } = require("#utils/fields");
|
const { guildFeaturesField } = require("#utils/fields");
|
||||||
|
const { getAcronym, getGuildIcon } = require('#utils/guilds');
|
||||||
const { acknowledge } = require('#utils/interactions');
|
const { acknowledge } = require('#utils/interactions');
|
||||||
const { icon, highlight, timestamp, codeblock, smallIconPill } = require("#utils/markdown");
|
const { icon, highlight, timestamp, codeblock, smallIconPill } = require("#utils/markdown");
|
||||||
const { editOrReply } = require("#utils/message");
|
const { editOrReply } = require("#utils/message");
|
||||||
|
@ -54,15 +55,12 @@ module.exports = {
|
||||||
|
|
||||||
let guildCard = createEmbed("default", context, {
|
let guildCard = createEmbed("default", context, {
|
||||||
description: `${icon("home")} **${g.name}** ${highlight(`(${g.id})`)}\n${pillDisplay}\n\n${icon("calendar")} **Server created** ${timestamp(g.createdAt, "f")}`,
|
description: `${icon("home")} **${g.name}** ${highlight(`(${g.id})`)}\n${pillDisplay}\n\n${icon("calendar")} **Server created** ${timestamp(g.createdAt, "f")}`,
|
||||||
fields: []
|
fields: [],
|
||||||
|
thumbnail: {
|
||||||
|
url: getGuildIcon(g)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
if(g.iconUrl){
|
|
||||||
guildCard.thumbnail = {
|
|
||||||
url: g.iconUrl + `?size=4096`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Channel Container
|
// Channel Container
|
||||||
let lines = [];
|
let lines = [];
|
||||||
if(textChannels >= 1) lines.push(`Text Channels ${textChannels}`)
|
if(textChannels >= 1) lines.push(`Text Channels ${textChannels}`)
|
||||||
|
|
|
@ -3,6 +3,7 @@ const { DISCORD_INVITES, OPEN_SOURCE_REPOSITORY_URL, PERMISSION_GROUPS } = requi
|
||||||
|
|
||||||
const { createEmbed, formatPaginationEmbeds, page } = require("#utils/embed");
|
const { createEmbed, formatPaginationEmbeds, page } = require("#utils/embed");
|
||||||
const { guildFeaturesField } = require("#utils/fields");
|
const { guildFeaturesField } = require("#utils/fields");
|
||||||
|
const { getGuildIcon } = require('#utils/guilds');
|
||||||
const { acknowledge } = require('#utils/interactions');
|
const { acknowledge } = require('#utils/interactions');
|
||||||
const { icon, highlight, timestamp, iconPill, iconLinkPill, link } = require("#utils/markdown");
|
const { icon, highlight, timestamp, iconPill, iconLinkPill, link } = require("#utils/markdown");
|
||||||
const { editOrReply } = require("#utils/message");
|
const { editOrReply } = require("#utils/message");
|
||||||
|
@ -48,15 +49,12 @@ module.exports = {
|
||||||
if(g.description) gDesc = g.description + "\n\n"
|
if(g.description) gDesc = g.description + "\n\n"
|
||||||
let inviteCard = createEmbed("default", context, {
|
let inviteCard = createEmbed("default", context, {
|
||||||
description: `${icon("link")} **https://discord.gg/${inviteCode[1]}**\n\n${icon("home")} **${g.name}** ${highlight(`(${g.id})`)}\n${iconPill("user_multiple", invite.approximateMemberCount.toLocaleString())} ${iconPill("status_online", invite.approximatePresenceCount.toLocaleString())} ${iconPill("status_offline", (invite.approximateMemberCount - invite.approximatePresenceCount).toLocaleString())}\n\n${gDesc}${icon("calendar")} **Created at: **${timestamp(g.createdAt, "f")}\n`,
|
description: `${icon("link")} **https://discord.gg/${inviteCode[1]}**\n\n${icon("home")} **${g.name}** ${highlight(`(${g.id})`)}\n${iconPill("user_multiple", invite.approximateMemberCount.toLocaleString())} ${iconPill("status_online", invite.approximatePresenceCount.toLocaleString())} ${iconPill("status_offline", (invite.approximateMemberCount - invite.approximatePresenceCount).toLocaleString())}\n\n${gDesc}${icon("calendar")} **Created at: **${timestamp(g.createdAt, "f")}\n`,
|
||||||
fields: []
|
fields: [],
|
||||||
|
thumbnail: {
|
||||||
|
url: getGuildIcon(g)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
if(g.iconUrl){
|
|
||||||
inviteCard.thumbnail = {
|
|
||||||
url: g.iconUrl + `?size=4096`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(g.splash){
|
if(g.splash){
|
||||||
inviteCard.image = {
|
inviteCard.image = {
|
||||||
url: g.splashUrl + "?size=4096"
|
url: g.splashUrl + "?size=4096"
|
||||||
|
|
16
labscore/utils/guilds.js
Normal file
16
labscore/utils/guilds.js
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
function getAcronym(guildName){
|
||||||
|
// Based on discord-web
|
||||||
|
return guildName.replace(/'s /g, " ").replace(/\w+/g, e => e[0]).replace(/\s/g, "")
|
||||||
|
}
|
||||||
|
|
||||||
|
function getGuildIcon(guild){
|
||||||
|
return (guild.iconUrl ?
|
||||||
|
guild.iconUrl + "?size=4096" :
|
||||||
|
// Removes emojis from the icon since this api doesn't support them, todo for the future maybe build our own image generation service for these.
|
||||||
|
"https://ui-avatars.com/api/?background=333339&color=fff&size=512&uppercase=false&length=999&name=" + encodeURIComponent(getAcronym(guild.name).replace(/(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0]|\ud83c[\udffb-\udfff])?)*/g, '')))
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
getAcronym,
|
||||||
|
getGuildIcon
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue