From 1657090e33e83000dfd7a7fa6d54f979dd377c13 Mon Sep 17 00:00:00 2001 From: teidesu Date: Sun, 25 Apr 2021 13:38:56 +0300 Subject: [PATCH] fix(entities): replace user mentions with input user mentions after parsing --- .../src/methods/messages/parse-entities.ts | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/packages/client/src/methods/messages/parse-entities.ts b/packages/client/src/methods/messages/parse-entities.ts index 7945293f..caa3411a 100644 --- a/packages/client/src/methods/messages/parse-entities.ts +++ b/packages/client/src/methods/messages/parse-entities.ts @@ -15,31 +15,31 @@ export async function _parseEntities( return empty } - if (entities) { - // replace mentionName entities with input ones - for (const ent of entities) { - if (ent._ === 'messageEntityMentionName') { - try { - const inputPeer = normalizeToInputUser( - await this.resolvePeer(ent.userId) - ) - - // not a user - if (!inputPeer) continue - ;(ent as any)._ = 'inputMessageEntityMentionName' - ;(ent as any).userId = inputPeer - } catch (e) {} - } + if (!entities) { + if (mode === undefined) { + mode = this._defaultParseMode } + // either explicitly disabled or no available parser + if (!mode) return [text, []] - return [text, entities] + ;([text, entities] = await this._parseModes[mode].parse(text)) } - if (mode === undefined) { - mode = this._defaultParseMode - } - // either explicitly disabled or no available parser - if (!mode) return [text, []] + // replace mentionName entities with input ones + for (const ent of entities) { + if (ent._ === 'messageEntityMentionName') { + try { + const inputPeer = normalizeToInputUser( + await this.resolvePeer(ent.userId) + ) - return this._parseModes[mode].parse(text) + // not a user + if (!inputPeer) continue + ;(ent as any)._ = 'inputMessageEntityMentionName' + ;(ent as any).userId = inputPeer + } catch (e) {} + } + } + + return [text, entities] }