From 82ae8d70621c681dad611955a4d4eb58e5d93339 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Fri, 27 Sep 2019 20:07:16 -0600 Subject: [PATCH] Rewrite ping-based commands to avoid space parsing problems --- src/Mjolnir.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Mjolnir.ts b/src/Mjolnir.ts index 69812f7..eae5f68 100644 --- a/src/Mjolnir.ts +++ b/src/Mjolnir.ts @@ -42,7 +42,11 @@ export class Mjolnir { const content = event['content']; if (content['msgtype'] === "m.text" && content['body']) { const prefixes = [COMMAND_PREFIX, this.localpart + ":", this.displayName + ":", await client.getUserId() + ":"]; - if (!prefixes.find(p => content['body'].startsWith(p))) return; + const prefixUsed = prefixes.find(p => content['body'].startsWith(p)); + if (!prefixUsed) return; + + // rewrite the event body to make the prefix uniform (in case the bot has spaces in its display name) + event['content']['body'] = COMMAND_PREFIX + content['body'].substring(prefixUsed.length); await client.sendReadReceipt(roomId, event['event_id']); return handleCommand(roomId, event, this);