diff --git a/src/Socket/chats.ts b/src/Socket/chats.ts index 31cc424..684c631 100644 --- a/src/Socket/chats.ts +++ b/src/Socket/chats.ts @@ -382,9 +382,12 @@ export const makeChatsSocket = (config: SocketConfig) => { name: action?.pushNameSetting?.name! } ev.emit('creds.update', { me }) + } else if(action?.pinAction) { + update.pin = action.pinAction?.pinned ? toNumber(action.timestamp) : undefined } else { logger.warn({ action, id }, 'unprocessable update') } + if(Object.keys(update).length > 1) { updates[update.id] = { ...(updates[update.id] || {}), diff --git a/src/Utils/chat-utils.ts b/src/Utils/chat-utils.ts index 5974782..0b8baf5 100644 --- a/src/Utils/chat-utils.ts +++ b/src/Utils/chat-utils.ts @@ -481,6 +481,18 @@ export const chatModificationToAppPatch = ( operation: OP.SET } } + } else if('pin' in mod) { + patch = { + syncAction: { + pinAction: { + pinned: !!mod.pin + } + }, + index: ['pin_v1', '919646328797@s.whatsapp.net'], + type: 'regular_low', + apiVersion: 5, + operation: mod.pin ? OP.SET : OP.REMOVE + } } else { throw new Boom('not supported') }