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 { guildFeaturesField } = require("#utils/fields");
|
||||
const { getAcronym, getGuildIcon } = require('#utils/guilds');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
const { icon, highlight, timestamp, codeblock, smallIconPill } = require("#utils/markdown");
|
||||
const { editOrReply } = require("#utils/message");
|
||||
|
@ -54,14 +55,11 @@ module.exports = {
|
|||
|
||||
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")}`,
|
||||
fields: []
|
||||
})
|
||||
|
||||
if(g.iconUrl){
|
||||
guildCard.thumbnail = {
|
||||
url: g.iconUrl + `?size=4096`
|
||||
fields: [],
|
||||
thumbnail: {
|
||||
url: getGuildIcon(g)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// Channel Container
|
||||
let lines = [];
|
||||
|
|
|
@ -3,6 +3,7 @@ const { DISCORD_INVITES, OPEN_SOURCE_REPOSITORY_URL, PERMISSION_GROUPS } = requi
|
|||
|
||||
const { createEmbed, formatPaginationEmbeds, page } = require("#utils/embed");
|
||||
const { guildFeaturesField } = require("#utils/fields");
|
||||
const { getGuildIcon } = require('#utils/guilds');
|
||||
const { acknowledge } = require('#utils/interactions');
|
||||
const { icon, highlight, timestamp, iconPill, iconLinkPill, link } = require("#utils/markdown");
|
||||
const { editOrReply } = require("#utils/message");
|
||||
|
@ -48,14 +49,11 @@ module.exports = {
|
|||
if(g.description) gDesc = g.description + "\n\n"
|
||||
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`,
|
||||
fields: []
|
||||
})
|
||||
|
||||
if(g.iconUrl){
|
||||
inviteCard.thumbnail = {
|
||||
url: g.iconUrl + `?size=4096`
|
||||
fields: [],
|
||||
thumbnail: {
|
||||
url: getGuildIcon(g)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
if(g.splash){
|
||||
inviteCard.image = {
|
||||
|
|
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