From 482c71690dfad5224fa8f16b987b3a21eb22248d Mon Sep 17 00:00:00 2001 From: teidesu Date: Wed, 12 May 2021 22:36:03 +0300 Subject: [PATCH] feat(client): markChatUnread method --- packages/client/src/client.ts | 8 +++++++ .../src/methods/chats/mark-chat-unread.ts | 22 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 packages/client/src/methods/chats/mark-chat-unread.ts diff --git a/packages/client/src/client.ts b/packages/client/src/client.ts index d8b50d83..ed68f6eb 100644 --- a/packages/client/src/client.ts +++ b/packages/client/src/client.ts @@ -39,6 +39,7 @@ import { iterChatMembers } from './methods/chats/iter-chat-members' import { joinChat } from './methods/chats/join-chat' import { kickChatMember } from './methods/chats/kick-chat-member' import { leaveChat } from './methods/chats/leave-chat' +import { markChatUnread } from './methods/chats/mark-chat-unread' import { restrictChatMember } from './methods/chats/restrict-chat-member' import { saveDraft } from './methods/chats/save-draft' import { setChatDefaultPermissions } from './methods/chats/set-chat-default-permissions' @@ -915,6 +916,12 @@ export interface TelegramClient extends BaseTelegramClient { * @param clear (default: `false`) Whether to clear history after leaving (only for legacy group chats) */ leaveChat(chatId: InputPeerLike, clear?: boolean): Promise + /** + * Mark a chat as unread + * + * @param chatId Chat ID + */ + markChatUnread(chatId: InputPeerLike): Promise /** * Restrict a user in a supergroup. * @@ -2900,6 +2907,7 @@ export class TelegramClient extends BaseTelegramClient { joinChat = joinChat kickChatMember = kickChatMember leaveChat = leaveChat + markChatUnread = markChatUnread restrictChatMember = restrictChatMember saveDraft = saveDraft setChatDefaultPermissions = setChatDefaultPermissions diff --git a/packages/client/src/methods/chats/mark-chat-unread.ts b/packages/client/src/methods/chats/mark-chat-unread.ts new file mode 100644 index 00000000..d2619cbe --- /dev/null +++ b/packages/client/src/methods/chats/mark-chat-unread.ts @@ -0,0 +1,22 @@ +import { TelegramClient } from '../../client' +import { InputPeerLike } from '../../types' +import { normalizeToInputPeer } from '../../utils/peer-utils' + +/** + * Mark a chat as unread + * + * @param chatId Chat ID + * @internal + */ +export async function markChatUnread( + this: TelegramClient, + chatId: InputPeerLike +): Promise { + await this.call({ + _: 'messages.markDialogUnread', + peer: { + _: 'inputDialogPeer', + peer: normalizeToInputPeer(await this.resolvePeer(chatId)), + }, + }) +}