import * as sanitizeHtml from "sanitize-html";
/**
* Helper for creating rich replies.
* @category Utilities
*/
export class RichReply {
private constructor() {
}
/**
* Generates the event content required to reply to the provided event with the
* provided text.
* @param {string} roomId the room ID the event being replied to resides in
* @param {any} event the event to reply to
* @param {string} withText the plain text to reply with
* @param {string} withHtml the HTML to reply with. Optional.
* @returns {any} the content of the event representing the reply
*/
public static createFor(roomId: string, event: any, withText: string, withHtml: string = null): any {
return {
"m.relates_to": {
"m.in_reply_to": {
"event_id": event["event_id"],
},
},
"msgtype": "m.text", // for those who just want to send the reply as-is
"body": withText,
...(withHtml && {
"format": "org.matrix.custom.html",
"formatted_body": withHtml,
}),
};
}
}
Source