MemberTransformer
Class: MemberTransformer
Defined in: tagscript-plugin-discord/src/lib/Transformer/GuildMember.ts:58
Transformer for a Discord GuildMember payload.
Properties:
id: Gives member id.
mention: Mentions the member.
username: Gives username of the member.
discriminator: Gives discriminator of the member
tag: Gives username#discriminator for legacy accounts, username otherwise.
avatar: Gives member's custom avatar if they have one. Else it'll be an empty string.
displayAvatar: Gives member's avatar URL if they have one else gives member's default avatar.
nickname: Gives member's nickname.
displayName: Gives member's display name. (nickname, then global name, then username)
joinedAt: Gives member's join date.
joinedTimestamp: Gives member's join date in ms
createdAt: Gives member's account create date.
createdTimestamp: Gives member's account created date in ms
bot: Gives true if the member is a bot else false.
roles: Mentions each of the member's roles.
roleIds: Gives member's roles ids.
timeoutUntil: Gives member's timeout until date.
timeoutUntilTimestamp: Gives member's timeout until date in ms.Remarks
You need to use StrictVarsParser parser to use this transformer.
A member payload carries role ids, not role objects, and no guild id. Role names, the top role, the member colour and the per-guild avatar therefore need the guild alongside the member, so pass them yourself:
const roles = guild.roles.filter((role) => member.roles.includes(role.id));
new MemberTransformer(member, {
roleNames: roles.map((role) => role.name).join(', '),
topRole: roles.reduce((highest, role) => (role.position > highest.position ? role : highest)).name,
});Example
import { Interpreter, StrictVarsParser } from 'tagscript';
import { MemberTransformer } from '@tagscript/plugin-discord';
const ts = new Interpreter(new StrictVarsParser());
await ts.run('Hi {member}', { member: new MemberTransformer(member) });
// Hi <@758880890159235083>Extends
Constructors
Constructor
new MemberTransformer(base, safeValues?): MemberTransformer
Defined in: tagscript-plugin-discord/src/lib/Transformer/Base.ts:28
Parameters
base
safeValues?
SafeValues<GuildMember> = {}
Returns
MemberTransformer
Inherited from
Properties
base
protected base: GuildMember
Defined in: tagscript-plugin-discord/src/lib/Transformer/Base.ts:24
Inherited from
safeValues
protected safeValues: SafeValues<GuildMember> = {}
Defined in: tagscript-plugin-discord/src/lib/Transformer/Base.ts:26
Inherited from
Methods
resolveId()
protected resolveId(): string
Defined in: tagscript-plugin-discord/src/lib/Transformer/GuildMember.ts:59
The snowflake this payload is identified by. Read as {thing.id}.
Returns
string
Overrides
resolveMention()
protected resolveMention(): string
Defined in: tagscript-plugin-discord/src/lib/Transformer/GuildMember.ts:63
What a bare {thing} renders to.
Returns
string
Overrides
BaseTransformer.resolveMention
toJSON()
toJSON(): SafeValues<GuildMember>
Defined in: tagscript-plugin-discord/src/lib/Transformer/Base.ts:45
Returns
Inherited from
transform()
transform(tag): string | null
Defined in: tagscript-plugin-discord/src/lib/Transformer/Base.ts:37
Transforms the given tag.
Parameters
tag
Lexer
The tag that triggered the transformer.
Returns
string | null
Inherited from
updateSafeValues()
protected updateSafeValues(): void
Defined in: tagscript-plugin-discord/src/lib/Transformer/GuildMember.ts:67
Returns
void