From 9c098094d2075b181707b55a97b5268957963e49 Mon Sep 17 00:00:00 2001
From: Will Hunt <half-shot@molrams.com>
Date: Sat, 18 Feb 2017 18:11:09 +0000
Subject: [PATCH] Add support for Discord -> Matrix Markdown

---
 package.json      |  1 +
 src/discordbot.ts | 15 ++++++++++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/package.json b/package.json
index 82e8725..c81a8f6 100644
--- a/package.json
+++ b/package.json
@@ -33,6 +33,7 @@
     "bluebird": "^3.4.7",
     "discord.js": "^11.0.0",
     "js-yaml": "^3.8.1",
+    "marked": "^0.3.6",
     "mime": "^1.3.4",
     "npmlog": "^4.0.2",
     "tslint": "^4.4.2",
diff --git a/src/discordbot.ts b/src/discordbot.ts
index 9240fe4..bb286be 100644
--- a/src/discordbot.ts
+++ b/src/discordbot.ts
@@ -4,6 +4,7 @@ import * as log from "npmlog";
 import { MatrixUser, RemoteUser } from "matrix-appservice-bridge";
 import { Util } from "./util";
 import * as mime from "mime";
+import * as marked from "marked";
 
 export class DiscordBot {
   private config: DiscordBridgeConfig;
@@ -192,7 +193,19 @@ export class DiscordBot {
         });
       });
       if (msg.content !== null && msg.content !== "") {
-        intent.sendText(room, msg.content);
+        const markdown = marked(msg.content);
+        if (markdown !== msg.content) {
+          // Markdown message
+          intent.sendMessage(room, {
+            body: msg.content,
+            msgtype: "m.text",
+            formatted_body: markdown,
+            format: "org.matrix.custom.html",
+          })
+        } else {
+          // Plain text
+          intent.sendText(room, msg.content);
+        }
       }
     });
   }
-- 
GitLab