feat(m2d): support MSC4144 per-message profiles
Override webhook username and avatar_url from m.per_message_profile (and unstable com.beeper.per_message_profile) when present. The stable key takes priority over the unstable prefix.
This commit is contained in:
@@ -557,6 +557,10 @@ async function eventToMessage(event, guild, channel, di) {
|
||||
const member = await getMemberFromCacheOrHomeserver(event.room_id, event.sender, di?.api)
|
||||
if (member.displayname) displayName = member.displayname
|
||||
if (member.avatar_url) avatarURL = mxUtils.getPublicUrlForMxc(member.avatar_url)
|
||||
// Override display name and avatar from MSC4144 per-message profile if present
|
||||
const perMessageProfile = event.content["m.per_message_profile"] || event.content["com.beeper.per_message_profile"]
|
||||
if (perMessageProfile?.displayname) displayName = perMessageProfile.displayname
|
||||
if (perMessageProfile?.avatar_url) avatarURL = mxUtils.getPublicUrlForMxc(perMessageProfile.avatar_url)
|
||||
// If the display name is too long to be put into the webhook (80 characters is the maximum),
|
||||
// put the excess characters into displayNameRunoff, later to be put at the top of the message
|
||||
let [displayNameShortened, displayNameRunoff] = splitDisplayName(displayName)
|
||||
|
||||
Reference in New Issue
Block a user