From d2df233bc2fe26bcd1b930622fd542b82d1e14cf Mon Sep 17 00:00:00 2001 From: Dragory Date: Tue, 15 Jan 2019 04:25:46 +0200 Subject: [PATCH] NameHistory: save username on join, make nickname change detection better --- src/plugins/NameHistory.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/plugins/NameHistory.ts b/src/plugins/NameHistory.ts index 2b097e37..384480bd 100644 --- a/src/plugins/NameHistory.ts +++ b/src/plugins/NameHistory.ts @@ -65,9 +65,19 @@ export class NameHistoryPlugin extends Plugin { } @d.event("guildMemberUpdate") - async onGuildMemberUpdate(_, member: Member, oldMember: { nick: string; roles: string[] }) { - if (member.nick !== oldMember.nick) { + async onGuildMemberUpdate(_, member: Member) { + const latestEntry = await this.nameHistory.getLastEntryByType(member.id, NameHistoryEntryTypes.Nickname); + if (!latestEntry || latestEntry.value !== member.nick) { await this.nameHistory.addEntry(member.id, NameHistoryEntryTypes.Nickname, member.nick); } } + + @d.event("guildMemberAdd") + async onGuildMemberAdd(_, member: Member) { + const latestEntry = await this.nameHistory.getLastEntryByType(member.id, NameHistoryEntryTypes.Username); + const username = `${member.user.username}#${member.user.discriminator}`; + if (!latestEntry || latestEntry.value !== username) { + await this.nameHistory.addEntry(member.id, NameHistoryEntryTypes.Username, username); + } + } }