diff --git a/src/plugins/Logs.ts b/src/plugins/Logs.ts index 12c1438d..0404127b 100644 --- a/src/plugins/Logs.ts +++ b/src/plugins/Logs.ts @@ -171,19 +171,27 @@ export class LogsPlugin extends ZeppelinPlugin { try { formatted = await renderTemplate(format, { ...data, - userMention: async user => { - if (!user) return ""; + userMention: async userOrMember => { + if (!userOrMember) return ""; + + let user; + let member; + + if (userOrMember.user) { + member = userOrMember; + user = member.user; + } else { + user = userOrMember; + member = this.guild.members.get(user.id) || { id: user.id, user }; + } - const member: Member = user.user ? user : this.guild.members.get(user.id) || { id: user.id, user }; - - const memberConfig = (member.guild && this.getMatchingConfig({ member, userId: user.id })) || ({} as any); + const memberConfig = member.guild && this.getMatchingConfig({ member, userId: user.id }) || ({} as any); if (memberConfig.ping_user) { // Ping/mention the user return `<@!${user.id}> (**${user.username}#${user.discriminator}**, \`${user.id}\`)`; } else { // No ping/mention - if (user.username == null) console.log('?', user); return `**${user.username}#${user.discriminator}** (\`${user.id}\`)`; } },