diff --git a/src/discordas.ts b/src/discordas.ts index 08bd0ab7b259ef86125fe18e5ca12f1151b2c318..aa237f5ee1464ff18fb1c3dd1cbf6e985f2d152a 100644 --- a/src/discordas.ts +++ b/src/discordas.ts @@ -22,7 +22,6 @@ import { DiscordBot } from "./bot"; import { DiscordStore } from "./store"; import { Log } from "./log"; import "source-map-support/register"; -import { IRequestPromise } from "./util"; const log = new Log("DiscordAS"); @@ -94,15 +93,6 @@ async function run(port: number, fileConfig: DiscordBridgeConfig) { } catch (err) { log.error("Exception thrown while handling \"onAliasQuery\" event", err); } }, onEvent: async (request) => { - // This function emulates the Bluebird.done function so the underlying bridge library doesn't - // break. - // tslint:disable-next-line no-any - const done = function(resolve: (res: any) => void, reject: (err: Error) => void) { - // tslint:disable-next-line no-invalid-this no-floating-promises - (this as Promise<{}>).then(resolve); - // tslint:disable-next-line no-invalid-this no-floating-promises - (this as Promise<{}>).catch(reject); - }; try { // Build our own context. if (!store.roomStore) { @@ -110,21 +100,20 @@ async function run(port: number, fileConfig: DiscordBridgeConfig) { return; } const roomId = request.getData().room_id; + const context: BridgeContext = { rooms: {}, }; + if (roomId) { const entries = await store.roomStore.getEntriesByMatrixId(roomId); context.rooms = entries[0] || {}; } - await request.outcomeFrom({ - done, - ...callbacks.onEvent(request, context), - } as IRequestPromise<{}>); + await request.outcomeFrom(callbacks.onEvent(request, context)); } catch (err) { log.error("Exception thrown while handling \"onEvent\" event", err); - await request.outcomeFrom({done, ...Promise.reject("Failed to handle")}); + await request.outcomeFrom(Promise.reject("Failed to handle")); } }, onLog: (line, isError) => { diff --git a/src/util.ts b/src/util.ts index 96ab13dcdc95ea44fad10a8bccf66ba2b7a01034..aca4d651a2eb9780ff8d1a5666b389799edb10db 100644 --- a/src/util.ts +++ b/src/util.ts @@ -51,10 +51,6 @@ export interface IPatternMap { [index: string]: string; } -export interface IRequestPromise<T> extends PromiseLike<T> { - done(resolve: (msg: T) => {}, reject: (err: Error) => {}): void; -} - export class Util { /** * downloadFile - This function will take a URL and store the resulting data into