diff --git a/src/protections/NsfwProtection.ts b/src/protections/NsfwProtection.ts index 6be229ae..ff43dd72 100644 --- a/src/protections/NsfwProtection.ts +++ b/src/protections/NsfwProtection.ts @@ -47,23 +47,50 @@ export class NsfwProtection extends Protection { if (event['type'] === 'm.room.message') { const content = event['content'] || {}; const msgtype = content['msgtype'] || 'm.text'; - const isMedia = msgtype === 'm.image'; + const formattedBody = content['formatted_body'] || ''; + const isMedia = msgtype === 'm.image' || formattedBody.toLowerCase().includes(' mjolnir.config.nsfwSensitivity) { - await mjolnir.managementRoomOutput.logMessage(LogLevel.INFO, "NSFWProtection", `Redacting ${event["event_id"]} for inappropriate content.`); try { await mjolnir.client.redactEvent(roomId, event["event_id"]); } catch (err) { - await mjolnir.managementRoomOutput.logMessage(LogLevel.ERROR, "NSFWProtection", `There was an error redacting ${event["event_id"]}: ${err}`); + await mjolnir.managementRoomOutput.logMessage(LogLevel.ERROR, "NSFWProtection", `There was an error redacting ${event["event_id"] in {room}}: ${err}`); } + let eventId = event["event_id"] + let body = `Redacted an image in ${room} ${eventId}` + let formatted_body = `
+ Redacted an image in ${room} +
${eventId}  ${room}
+
` + let msg = { + msgtype: "m.notice", + body: body, + format: "org.matrix.custom.html", + formatted_body: formatted_body + }; + await mjolnir.client.sendMessage(mjolnir.managementRoomId, msg); + break } } }