From 6dfed195d9a669b2ee948ffcdbbc08202124f40c Mon Sep 17 00:00:00 2001
From: Travis Ralston <travpc@gmail.com>
Date: Fri, 6 Nov 2020 13:51:52 -0700
Subject: [PATCH] Fix guild members lookup in UpdateStateForGuilds

---
 src/usersyncroniser.ts | 4 ++--
 src/util.ts            | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/usersyncroniser.ts b/src/usersyncroniser.ts
index bd796ab..6400ecb 100644
--- a/src/usersyncroniser.ts
+++ b/src/usersyncroniser.ts
@@ -400,9 +400,9 @@ export class UserSyncroniser {
         log.info(`Got update for ${id}.`);
 
         await Util.AsyncForEach(this.discord.GetGuilds(), async (guild) => {
-            if (guild.members.has(id)) {
+            if (guild.members.cache.has(id)) {
                 log.info(`Updating user ${id} in guild ${guild.id}.`);
-                const member = guild.members.get(id);
+                const member = guild.members.resolve(id);
                 try {
                     const state = await this.GetUserStateForGuildMember(member!);
                     const rooms = await this.discord.GetRoomIdsFromGuild(guild, member!);
diff --git a/src/util.ts b/src/util.ts
index 0ea0690..f8f93f7 100644
--- a/src/util.ts
+++ b/src/util.ts
@@ -296,7 +296,7 @@ export class Util {
         return {command, args};
     }
 
-    public static async AsyncForEach(arr, callback) {
+    public static async AsyncForEach<T>(arr: T[], callback: (item: T, i: number, a: T[]) => void) {
         for (let i = 0; i < arr.length; i++) {
             await callback(arr[i], i, arr);
         }
-- 
GitLab