# on the switch to Components V2
you probably will have noticed the new design of system/member/group cards in PluralKit. we know that a lot of people will have questions as to why we've suddenly changed the layout & design of the cards, so we hope this post can explain some of the decisions that went into these.
# why change the cards at all?
the old cards used something Discord calls "embeds." embeds were initially only meant for showing details about a link posted in chat, but were later also used by Discord bots for displaying information in a structured way.
embeds are extremely limited in their layout, and bots have very little control over how things are displayed in them. in addition, a lot of newer Discord features (things like the Markdown headers, or small text) either don't display in embeds at all, or only display on some platforms - making them very inconsistent in how they display.
the new cards use Discord's "Components V2" - which has been designed by Discord from the ground up specifically for bots to use for custom content. Components V2 is much more flexible, and fixes a lot of the issues with the old embeds (the Markdown headers / small text being one example), letting us have a lot more control over the display of the cards.
Components V2 is the way forward, as far as Discord is concerned - meaning that some of the issues with embeds will never be fixed in embeds themselves, necessitating a move to Components V2.
# continual improvement (also: "where'd my proxy avatar go?")
currently, the only thing missing from PluralKit's new Components V2 cards (compared to the previous embed-based cards) is member proxy avatars. on the old member cards, proxy avatars would display as a tiny circle at the top left. there is not currently a way to display an image of that size/ position in Components V2... but from what we understand, that is on the list of things Discord will be adding in the future. which leads into the next point:
unlike embeds, which have remained stagnant for years, Discord are actively working on adding new functionality to Components V2, as well as fixing whatever issues arise - in order to take advantage of new functionality as Discord release it, we would have needed to move to Components V2 at some point. we figured that with the state Components V2 is currently in, now was a good time to make that switch!
# character limits
another advantage of Components V2 over embeds is the character limit for cards. the old embeds had a hard limit of 1024 characters in a single field, with a limit of 2000 characters for the entire embed. this is the reason that PK descriptions are capped at 1000 characters.
Components V2, however, has a character limit of 6000 characters across the entire card, which can be split however we like. this means that once the old embed-based cards are removed, we will be able to raise the description character limit!
# where'd the color codes go?
one of the design choices we made for the new system/member/group cards was to hide the hex color codes by default - this has been a near-constantly requested feature, and the Components V2 rework gave us a good opportunity to implement it.
we added a configuration toggle for this - if you do want to see the hex
codes for colors, you can use pk;config show color on
to re-enable them.
# other small improvements
- Components V2 allows us to use real code blocks in the card footers for things like system/member/group IDs. on mobile Discord clients, this makes copying IDs a lot easier - you can copy an individual code block's content by tapping on it
- having a banner image set no longer makes the description width smaller
- on mobile clients, it is now a lot easier to view any images larger, just by tapping on them
- some PluralKit users who use screen readers have reported that the new Components V2 cards are read by their screen readers in a much more easily understood way
# the new cards don't show up! / is there a way to see the old cards?
Components V2 is not supported on older Discord clients. there is nothing we can do about this, other than encourage you to update your Discord client.
however - for now, using the -show-embed
(or -se
) flag to the
pk;system
, pk;member
, and pk;group
commands will show the old
embed-based cards.
the old cards will still show in some places in the bot (the most prominent example being when querying message info with the ❓ reaction) also, until we migrate those parts of the bot to use Components V2.
the old embed-based cards will be removed from the bot in future -
although we do not have any specific timeframe in mind for this yet.
because of this, we will not be supporting a way to persistently show
the old cards (such as a config option) - the -show-embed
flag is the
only way to pull up the old cards when using a command to query info.
# in closing
we hope that this gives you a bit more context as to why we've made this change - although there are some new design choices here, this was not a change made just for the sake of changing. moving to Components V2 not only gives us a lot more freedom to do things that weren't previously possible, but means we can fix a lot of the long-standing issues with PK cards!
we know this is a significant change for PluralKit, but we hope you can understand that this is a change for the better.
a lot of the decisions that went into the new versions of the cards were iterated on with feedback from members of the community who help beta test new PluralKit features - i want to thank those people immensely for their input!
if you'd like to help beta-test new features in future, check out the pins
in the #beta-testing
channel in the support server (opens new window)
for the beta testing announcement role.
if you have any questions, please let us know in the support server!