From 21d69e466ec683861cca454386ac701e49886b40 Mon Sep 17 00:00:00 2001 From: teidesu Date: Mon, 7 Jun 2021 15:27:16 +0300 Subject: [PATCH] fix: handle private chat sender --- packages/client/src/types/messages/message.ts | 11 +++++++++-- packages/dispatcher/src/filters.ts | 5 ++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/client/src/types/messages/message.ts b/packages/client/src/types/messages/message.ts index 9daee4ff..7e51e993 100644 --- a/packages/client/src/types/messages/message.ts +++ b/packages/client/src/types/messages/message.ts @@ -229,8 +229,15 @@ export class Message { if (this._sender === undefined) { const from = this.raw.fromId if (!from) { - // anon admin, return the chat - this._sender = this.chat + if (this.raw.peerId._ === 'peerUser') { + this._sender = new User( + this.client, + this._users[this.raw.peerId.userId] + ) + } else { + // anon admin, return the chat + this._sender = this.chat + } } else switch (from._) { case 'peerChannel': // forwarded channel post diff --git a/packages/dispatcher/src/filters.ts b/packages/dispatcher/src/filters.ts index 06784582..197b191a 100644 --- a/packages/dispatcher/src/filters.ts +++ b/packages/dispatcher/src/filters.ts @@ -300,7 +300,10 @@ export namespace filters { */ export const chat = ( type: T - ): UpdateFilter }> => (msg) => + ): UpdateFilter + sender: T extends 'private' | 'bot' | 'group' ? User : User | Chat + }> => (msg) => msg.chat.type === type /**