forked from cadence/out-of-your-element
Forwarding text messages
This commit is contained in:
parent
b23b818192
commit
1b539cfa64
4 changed files with 138 additions and 5 deletions
|
@ -555,9 +555,8 @@ async function messageToEvent(message, guild, options = {}, di) {
|
|||
// Try to merge the forwarded content with the forwarded notice
|
||||
let {body, formatted_body} = forwardedNotice.get()
|
||||
if (forwardedEvents.length >= 1 && ["m.text", "m.notice"].includes(forwardedEvents[0].msgtype)) { // Try to merge the forwarded content and the forwarded notice
|
||||
forwardedNotice.add("\n", "<br>")
|
||||
forwardedEvents[0].body = body + forwardedEvents[0].body
|
||||
forwardedEvents[0].formatted_body = formatted_body + forwardedEvents[0].formatted_body
|
||||
forwardedEvents[0].body = body + "\n" + forwardedEvents[0].body
|
||||
forwardedEvents[0].formatted_body = formatted_body + "<br>" + forwardedEvents[0].formatted_body
|
||||
} else {
|
||||
await addTextEvent(body, formatted_body, "m.notice")
|
||||
}
|
||||
|
|
|
@ -1043,3 +1043,61 @@ test("message2event: forwarded image", async t => {
|
|||
},
|
||||
])
|
||||
})
|
||||
|
||||
test("message2event: constructed forwarded message", async t => {
|
||||
const events = await messageToEvent(data.message.constructed_forwarded_message, {}, {}, {
|
||||
api: {
|
||||
async getJoinedMembers(roomID) {
|
||||
return {
|
||||
joined: {
|
||||
"@_ooye_bot:cadence.moe": {display_name: null, avatar_url: null},
|
||||
"@user:matrix.org": {display_name: null, avatar_url: null}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
t.deepEqual(events, [
|
||||
{
|
||||
$type: "m.room.message",
|
||||
body: "[🔀 Forwarded from #wonderland]"
|
||||
+ "\n» What's cooking, good looking? :hipposcope:",
|
||||
format: "org.matrix.custom.html",
|
||||
formatted_body: `🔀 <em>Forwarded from <a href="https://matrix.to/#/!qzDBLKlildpzrrOnFZ:cadence.moe/$tBIT8mO7XTTCgIINyiAIy6M2MSoPAdJenRl_RLyYuaE?via=cadence.moe&via=matrix.org">wonderland</a></em>`
|
||||
+ `<br><blockquote>What's cooking, good looking? <img data-mx-emoticon height="32" src="mxc://cadence.moe/WbYqNlACRuicynBfdnPYtmvc" title=":hipposcope:" alt=":hipposcope:"></blockquote>`,
|
||||
"m.mentions": {},
|
||||
msgtype: "m.notice",
|
||||
},
|
||||
{
|
||||
$type: "m.room.message",
|
||||
body: "100km.gif",
|
||||
external_url: "https://bridge.example.org/download/discordcdn/112760669178241024/1296237494987133070/100km.gif",
|
||||
filename: "100km.gif",
|
||||
info: {
|
||||
h: 300,
|
||||
mimetype: "image/gif",
|
||||
size: 2965649,
|
||||
w: 300,
|
||||
},
|
||||
"m.mentions": {},
|
||||
msgtype: "m.image",
|
||||
url: "mxc://cadence.moe/qDAotmebTfEIfsAIVCEZptLh",
|
||||
},
|
||||
{
|
||||
$type: "m.room.message",
|
||||
body: "» | ## This man"
|
||||
+ "\n» | "
|
||||
+ "\n» | ## This man is 100 km away from your house"
|
||||
+ "\n» | "
|
||||
+ "\n» | ### Distance away"
|
||||
+ "\n» | 99 km"
|
||||
+ "\n» | "
|
||||
+ "\n» | ### Distance away"
|
||||
+ "\n» | 98 km",
|
||||
format: "org.matrix.custom.html",
|
||||
formatted_body: "<blockquote><blockquote><p><strong>This man</strong></p><p><strong>This man is 100 km away from your house</strong></p><p><strong>Distance away</strong><br>99 km</p><p><strong>Distance away</strong><br>98 km</p></blockquote></blockquote>",
|
||||
"m.mentions": {},
|
||||
msgtype: "m.notice"
|
||||
}
|
||||
])
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue