From a2179f888af0893c8c7ae7eb5b24692a2dc62d3f Mon Sep 17 00:00:00 2001 From: Peter Cai Date: Sat, 16 Jan 2021 20:58:43 +0800 Subject: [PATCH] forwarder: limit maximum IRC nickname length --- forwarder.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/forwarder.js b/forwarder.js index 5b975b4..78c8dfe 100644 --- a/forwarder.js +++ b/forwarder.js @@ -54,6 +54,14 @@ module.exports = class Forwarder { this.clientMatrix.sendMessage(this.mappingI2M[event.target], content); } + stripMatrixName(name) { + if (name.length < 16) { + return name; + } else { + return name.slice(0, 16); + } + } + onMatrixMessage(event, room, toStartOfTimeline) { if (toStartOfTimeline) { return; // Ignore pagniation @@ -87,11 +95,12 @@ module.exports = class Forwarder { } if (msgTxt != null) { + let name = this.stripMatrixName(event.sender.name); if (content.msgtype == "m.emote") { // Special format for emote - this.clientIRC.say(this.mappingM2I[room.roomId], `* ${event.sender.name} ${msgTxt}`); + this.clientIRC.say(this.mappingM2I[room.roomId], `* ${name} ${msgTxt}`); } else { - this.clientIRC.say(this.mappingM2I[room.roomId], `[${event.sender.name}] ${msgTxt}`); + this.clientIRC.say(this.mappingM2I[room.roomId], `[${name}] ${msgTxt}`); } } }