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
}
}
}