Desculpe, estou com outro problema no meu plugin que se comunica com uma api.
Eu recupero várias informações que insiro em um tópico com base em uma pesquisa. Meu problema é que recebo meu link de vídeo do youtube, mas ele é inserido como texto puro e não como onebox como eu gostaria. Tentei vários métodos, mas estou travado, e eu quero que ele seja compatível com markdown e rich text.
Aqui está parte do meu código que trata da gestão de vídeo
const videoTags = Array.from(xmlDoc.getElementsByTagName(“video”));
const frenchVideos = videoTags.filter(v => (v.getAttribute(“language”) || “”).toLowerCase().includes(“french”));
if (frenchVideos.length > 0) {
message += `\u003chr\u003e\u003ch3\u003e🎥 Vídeos de regras (FR) :\u003c/h3\u003e`;
frenchVideos.slice(0, 3).forEach(video => {
let vTitle = (video.getAttribute("title") || "Vídeo")
.replace(/How to play/gi, "Como jogar")
.replace(/Rules/gi, "Regras");
const vLink = video.getAttribute("link");
// 1. O título no seu parágrafo
message += `\u003cp\u003e\u003cstrong\u003e📖 ${vTitle}\u003c/strong\u003e\u003c/p\u003e`;
// 2. UM PARÁGRAFO VAZIO (Simula o pressionamento de 'Enter')
message += `\u003cp\u003e\u003c/p\u003e`;
// 3. O LINK SOZINHO (Esta é a "linha única" solicitada pelo Discourse)
// Não colocamos \u003ca\u003e, deixamos o texto puro da URL
message += `\u003cp\u003e${vLink}\u003c/p\u003e`;
// 4. OUTRO PARÁGRAFO VAZIO (Simula um segundo 'Enter')
message += `\u003cp\u003e\u003c/p\u003e`;
});
if (frenchVideos.length > 3) {
message += `\u003cp\u003e\u003ci\u003e(+ ${frenchVideos.length - 3} outros vídeos no BGG)\u003c/i\u003e\u003c/p\u003e`;
}
}
E aqui está o resultado
