3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-03-15 05:41:51 +00:00

Fix lots of undefined user mentions in logs

This commit is contained in:
Miikka 2019-05-02 10:33:49 +03:00 committed by GitHub
parent baaaded545
commit 6a3d5a6ed0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -171,19 +171,27 @@ export class LogsPlugin extends ZeppelinPlugin<ILogsPluginConfig> {
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}\`)`;
}
},