瀏覽代碼

Include custom emoji metadata in reaction events. Fixes #50

Tulir Asokan 2 年之前
父節點
當前提交
039764e081
共有 1 個文件被更改,包括 11 次插入1 次删除
  1. 11 1
      portal.go

+ 11 - 1
portal.go

@@ -1517,8 +1517,18 @@ func (portal *Portal) handleDiscordReaction(user *User, reaction *discordgo.Mess
 			Key:     matrixReaction,
 		},
 	}
+	extraContent := map[string]any{}
+	if reaction.Emoji.ID != "" {
+		extraContent["fi.mau.discord.reaction"] = map[string]any{
+			"id":   reaction.Emoji.ID,
+			"name": reaction.Emoji.Name,
+		}
+	}
 
-	resp, err := intent.SendMessageEvent(portal.MXID, event.EventReaction, &content)
+	resp, err := intent.SendMessageEvent(portal.MXID, event.EventReaction, &event.Content{
+		Parsed: &content,
+		Raw:    extraContent,
+	})
 	if err != nil {
 		portal.log.Errorfln("failed to send reaction from %s: %v", reaction.MessageID, err)
 		return