From 13694274eb3368686737075ad6194679c6459a09 Mon Sep 17 00:00:00 2001
From: Sorunome <mail@sorunome.de>
Date: Fri, 22 Feb 2019 13:15:26 +0100
Subject: [PATCH] fix guild name sending and chanfix+ghostfix tools

---
 src/bot.ts        | 2 +-
 tools/chanfix.ts  | 8 +++++---
 tools/ghostfix.ts | 3 ++-
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/bot.ts b/src/bot.ts
index 176d81c..1a67e3a 100644
--- a/src/bot.ts
+++ b/src/bot.ts
@@ -76,7 +76,7 @@ export class DiscordBot {
     private roomHandler: MatrixRoomHandler;
     private provisioner: Provisioner;
     /* Caches */
-    private roomIdsForGuildCache: Map<string, {roomIds: string[], ts: number}>;
+    private roomIdsForGuildCache: Map<string, {roomIds: string[], ts: number}> = new Map();
 
     /* Handles messages queued up to be sent to discord. */
     private discordMessageQueue: { [channelId: string]: Promise<void> };
diff --git a/tools/chanfix.ts b/tools/chanfix.ts
index b37b0fe..a7c1904 100644
--- a/tools/chanfix.ts
+++ b/tools/chanfix.ts
@@ -80,8 +80,6 @@ const clientFactory = new ClientFactory({
     token: registration.as_token,
     url: config.bridge.homeserverUrl,
 });
-const discordstore = new DiscordStore(config.database ? config.database.filename : "discord.db");
-const discordbot = new DiscordBot("", config, null, discordstore);
 
 const bridge = new Bridge({
     clientFactory,
@@ -102,7 +100,11 @@ const bridge = new Bridge({
 
 async function run() {
     await bridge.loadDatabases();
-    await discordstore.init();
+    const store = new DiscordStore(config.database);
+    await store.init(undefined, bridge.getRoomStore());
+    const discordbot = new DiscordBot(botUserId, config, bridge, store);
+    await discordbot.init();
+
     bridge._clientFactory = clientFactory;
     bridge._botClient = bridge._clientFactory.getClientAs();
     bridge._botIntent = new Intent(bridge._botClient, bridge._botClient, { registered: true });
diff --git a/tools/ghostfix.ts b/tools/ghostfix.ts
index 3e9a4ce..6e95838 100644
--- a/tools/ghostfix.ts
+++ b/tools/ghostfix.ts
@@ -110,6 +110,7 @@ const bridge = new Bridge({
 async function run() {
     await bridge.loadDatabases();
     const store = new DiscordStore(config.database);
+    await store.init(undefined, bridge.getRoomStore());
     const discordbot = new DiscordBot(botUserId, config, bridge, store);
     await discordbot.init();
     bridge._clientFactory = clientFactory;
@@ -128,7 +129,7 @@ async function run() {
                     let currentSchedule = JOIN_ROOM_SCHEDULE[0];
                     const doJoin = async () => {
                         await Util.DelayedPromise(currentSchedule);
-                        await discordbot.UserSyncroniser.OnUpdateGuildMember(member, true);
+                        await discordbot.UserSyncroniser.OnUpdateGuildMember(member, true, false);
                     };
                     const errorHandler = async (err) => {
                         log.error(`Error joining rooms for ${member.id}`);
-- 
GitLab