diff --git a/src/classes/Message.ts b/src/classes/Message.ts index 0d8b6bc5..f8cd20a6 100644 --- a/src/classes/Message.ts +++ b/src/classes/Message.ts @@ -271,6 +271,13 @@ export class Message { return this.masquerade?.colour ?? this.member?.roleColour; } + /** + * Get the role colour for this message + */ + get roleIcon(): File | null | undefined { + return this.member?.roleIcon; + } + /** * Get the avatar URL for this message */ diff --git a/src/classes/ServerMember.ts b/src/classes/ServerMember.ts index 9b3d1fac..bcfd5c72 100644 --- a/src/classes/ServerMember.ts +++ b/src/classes/ServerMember.ts @@ -156,6 +156,18 @@ export class ServerMember { } } + /** + * Member's current role icon. + */ + get roleIcon(): File | null | undefined { + const roles = this.orderedRoles.filter((x) => x.colour); + if (roles.length > 0) { + return roles[roles.length - 1].icon; + } else { + return null; + } + } + /** * Member's ranking * Smaller values are ranked as higher priority