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