some transforms

Signed-off-by: GitHub <noreply@github.com>
This commit is contained in:
Tiago R 2023-11-26 13:38:42 +00:00
parent f1791fac44
commit 4c788bc321
7 changed files with 16 additions and 13 deletions

View file

@ -42,7 +42,7 @@ export async function* matchMultipleTextTypesOnMessage(
} }
if (trigger.match_visible_names) { if (trigger.match_visible_names) {
yield ["visiblename", member.nickname || msg.data.author.username]; yield ["visiblename", member.nickname || member.user.globalName || msg.data.author.username];
} }
if (trigger.match_usernames) { if (trigger.match_usernames) {

View file

@ -68,10 +68,9 @@ export const ArchiveChannelCmd = channelArchiverCmd({
for (const message of messages.values()) { for (const message of messages.values()) {
const ts = moment.utc(message.createdTimestamp).format("YYYY-MM-DD HH:mm:ss"); const ts = moment.utc(message.createdTimestamp).format("YYYY-MM-DD HH:mm:ss");
let content = `[${ts}] [${message.author.id}] [${renderUsername( let content = `[${ts}] [${message.author.id}] [${renderUsername(message.author)}]: ${
message.author.username, message.content || "<no text content>"
message.author.discriminator, }`;
)}]: ${message.content || "<no text content>"}`;
if (message.attachments.size) { if (message.attachments.size) {
if (args["attachment-channel"]) { if (args["attachment-channel"]) {

View file

@ -85,7 +85,7 @@ export async function getInviteInfoEmbed(
embed.fields.push({ embed.fields.push({
name: preEmbedPadding + "Invite creator", name: preEmbedPadding + "Invite creator",
value: trimLines(` value: trimLines(`
Name: **${renderUsername(invite.inviter.username, invite.inviter.discriminator)}** Name: **${renderUsername(invite.inviter)}**
ID: \`${invite.inviter.id}\` ID: \`${invite.inviter.id}\`
Mention: <@!${invite.inviter.id}> Mention: <@!${invite.inviter.id}>
`), `),

View file

@ -71,7 +71,7 @@ export async function getMessageInfoEmbed(
embed.fields.push({ embed.fields.push({
name: preEmbedPadding + "Author information", name: preEmbedPadding + "Author information",
value: trimLines(` value: trimLines(`
Name: **${renderUsername(message.author.username, message.author.discriminator)}** Name: **${renderUsername(message.author)}**
ID: \`${message.author.id}\` ID: \`${message.author.id}\`
Created: **<t:${Math.round(message.author.createdTimestamp / 1000)}:R>** Created: **<t:${Math.round(message.author.createdTimestamp / 1000)}:R>**
${authorJoinedAtTS ? `Joined: **<t:${Math.round(authorJoinedAtTS / 1000)}:R>**` : ""} ${authorJoinedAtTS ? `Joined: **<t:${Math.round(authorJoinedAtTS / 1000)}:R>**` : ""}

View file

@ -43,7 +43,7 @@ export async function getUserInfoEmbed(
const timeAndDate = pluginData.getPlugin(TimeAndDatePlugin); const timeAndDate = pluginData.getPlugin(TimeAndDatePlugin);
embed.author = { embed.author = {
name: `${user.bot ? "Bot" : "User"}: ${renderUsername(user.username, user.discriminator)}`, name: `${user.bot ? "Bot" : "User"}: ${renderUsername(user)}`,
}; };
const avatarURL = user.displayAvatarURL(); const avatarURL = user.displayAvatarURL();
@ -72,9 +72,8 @@ export async function getUserInfoEmbed(
} }
const userInfoLines = [`ID: \`${user.id}\``, `Username: **${user.username}**`]; const userInfoLines = [`ID: \`${user.id}\``, `Username: **${user.username}**`];
if (user.discriminator !== "0") { if (user.discriminator !== "0") userInfoLines.push(`Discriminator: **${user.discriminator}**`);
userInfoLines.push(`Discriminator: **${user.discriminator}**`); if (user.globalName) userInfoLines.push(`Display Name: **${user.globalName}**`);
}
userInfoLines.push(`Created: **<t:${Math.round(user.createdTimestamp / 1000)}:R>**`); userInfoLines.push(`Created: **<t:${Math.round(user.createdTimestamp / 1000)}:R>**`);
userInfoLines.push(`Mention: <@!${user.id}>`); userInfoLines.push(`Mention: <@!${user.id}>`);

View file

@ -1603,8 +1603,11 @@ export function isTruthy<T>(value: T): value is Exclude<T, false | null | undefi
export const DBDateFormat = "YYYY-MM-DD HH:mm:ss"; export const DBDateFormat = "YYYY-MM-DD HH:mm:ss";
export function renderUsername(username: string, discriminator: string): string { export function renderUsername(username: User): string;
if (discriminator === "0") { export function renderUsername(username: string, discriminator?: string): string;
export function renderUsername(username: string | User, discriminator?: string): string {
if (username instanceof User) return username.tag;
if (discriminator === "0" || discriminator === "0000") {
return username; return username;
} }
return `${username}#${discriminator}`; return `${username}#${discriminator}`;

View file

@ -49,6 +49,7 @@ export class TemplateSafeUser extends TemplateSafeValueContainer {
id: Snowflake | string; id: Snowflake | string;
username: string; username: string;
discriminator: string; discriminator: string;
globalName?: string;
mention: string; mention: string;
tag: string; tag: string;
avatarURL?: string; avatarURL?: string;
@ -257,6 +258,7 @@ export function userToTemplateSafeUser(user: User | UnknownUser): TemplateSafeUs
id: user.id, id: user.id,
username: user.username, username: user.username,
discriminator: user.discriminator, discriminator: user.discriminator,
globalName: user.globalName,
mention: `<@${user.id}>`, mention: `<@${user.id}>`,
tag: user.tag, tag: user.tag,
avatarURL: user.displayAvatarURL?.(), avatarURL: user.displayAvatarURL?.(),