diff --git a/discord.go b/discord.go
index 41c7472f9fbe7bb7160718453c32c99dccf679d8..397e50de4704be614148e244793149108e1e3bdb 100644
--- a/discord.go
+++ b/discord.go
@@ -119,7 +119,6 @@ func discordHandleCreate(session *discordgo.Session, create *discordgo.MessageCr
 	}
 
 	msg := tgbotapi.NewMessage(int64(tc.ID), "")
-	msg.ParseMode = "Markdown"
 
 	if create.Message.Content == "" && len(create.Message.Attachments) == 0 {
 		// FIXME: implement stickers after library supports it
@@ -149,6 +148,9 @@ func discordHandleCreate(session *discordgo.Session, create *discordgo.MessageCr
 		msg.Text += fmt.Sprintf("\n[Attachment %v](%s)", i, attachment.URL)
 	}
 
+	msg.ParseMode = "MarkdownV2"
+	msg.Text = strings.ReplaceAll(msg.Text, ">", "\\>")
+
 	if m, err := botAPI.Send(msg); err != nil {
 		log.Printf("error relaying message %s, %s", create.Message.ID, err)
 		return
@@ -192,7 +194,6 @@ func discordHandleUpdate(session *discordgo.Session, update *discordgo.MessageUp
 	}
 
 	edit := tgbotapi.NewEditMessageText(int64(tc.ID), tid, discordMakeHeader(update.Message.Author)+update.Message.Content)
-	edit.ParseMode = "Markdown"
 	if _, err := botAPI.Send(edit); err != nil {
 		log.Printf("error relaying edit on message %s: %s", update.Message.ID, err)
 		return
diff --git a/go.sum b/go.sum
index 91e7f098756aba180da607cd0eb295c2cfd8ae92..b92f49b5f2533b4a4f6248a9fa307447502e1f7f 100644
--- a/go.sum
+++ b/go.sum
@@ -4,8 +4,6 @@ github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/go-telegram-bot-api/telegram-bot-api v4.6.4+incompatible h1:2cauKuaELYAEARXRkq2LrJ0yDDv1rW7+wrTEdVL3uaU=
 github.com/go-telegram-bot-api/telegram-bot-api v4.6.4+incompatible/go.mod h1:qf9acutJ8cwBUhm1bqgz6Bei9/C/c93FPDljKWwsOgM=
-github.com/go-telegram-bot-api/telegram-bot-api/v5 v5.0.0-rc1 h1:Mr8jIV7wDfLw5Fw6BPupm0aduTFdLjhI3wFuIIZKvO4=
-github.com/go-telegram-bot-api/telegram-bot-api/v5 v5.0.0-rc1/go.mod h1:2s/IzRcxCszyNh760IjJiqoYHTnifk8ZeNYL33z8Pww=
 github.com/gorilla/websocket v1.4.0 h1:WDFjx/TMzVgy9VdMMQi2K2Emtwi2QcUQsztZ/zLaH/Q=
 github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
 github.com/pelletier/go-toml/v2 v2.0.0-beta.3 h1:PNCTU4naEJ8mKal97P3A2qDU74QRQGlv4FXiL1XDqi4=
diff --git a/telegram.go b/telegram.go
index 0e44195dfe6802b059391f2e9058208c0c8177c4..709a9cb5cf4d5f718fbd96f54afde638d6c002e8 100644
--- a/telegram.go
+++ b/telegram.go
@@ -392,7 +392,6 @@ func telegramCommand(update tgbotapi.Update) {
 	switch update.Message.Command() {
 	case "start":
 		if update.Message.Chat.ID == int64(update.Message.From.ID) {
-			message.ParseMode = "Markdown"
 			message.Text = "Thanks for using BridgeThing!\n" +
 				"To find the ID of a Telegram chat, use /id\n" +
 				"To get the invite URL, use /invite\n" +