@wppconnect/wa-js
Version:
WPPConnect/WA-JS is an open-source project with the aim of exporting functions from WhatsApp Web
75 lines (74 loc) • 2.64 kB
TypeScript
/*!
* Copyright 2024 WPPConnect Team
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { MsgKey, MsgModel } from '../../whatsapp';
import { PinExpiryDurationOption, SendMsgResult } from '../../whatsapp/enums';
/**
* Pin a message in chat
*
* @param msgId - Message ID to pin/unpin
* @param pin - True to pin, false to unpin
* @param duration - Pin duration option. Use PinExpiryDurationOption enum for precise control.
*
* @since 3.18.9 - BREAKING CHANGE: The `seconds` parameter (number) has been replaced with `PinExpiryDurationOption` enum.
* For backward compatibility, numbers are still accepted but will ALWAYS default to 7 days,
* regardless of the value passed. Use `PinExpiryDurationOption` enum for precise duration control.
*
* @example
* ```javascript
* // Pin a message in chat with default duration (7 days)
* WPP.chat.pinMsg('true_[number]@c.us_ABCDEF');
*
* // Pin a message in chat for 30 days (RECOMMENDED)
* WPP.chat.pinMsg('true_[number]@c.us_ABCDEF', true, WPP.whatsapp.PinExpiryDurationOption.ThirtyDays);
*
* // Pin a message in chat for 1 day
* WPP.chat.pinMsg('true_[number]@c.us_ABCDEF', true, WPP.whatsapp.PinExpiryDurationOption.OneDay);
*
* // DEPRECATED: Passing numbers (always results in 7 days)
* WPP.chat.pinMsg('true_[number]@c.us_ABCDEF', true, 2592000); // Ignored, defaults to 7 days
*
* // Unpin a message
* WPP.chat.pinMsg('true_[number]@c.us_ABCDEF', false);
* // or
* WPP.chat.unpinMsg('true_[number]@c.us_ABCDEF');
* ```
* @category Chat
*/
export declare function pinMsg(msgId: string | MsgKey, pin?: boolean, duration?: number | PinExpiryDurationOption): Promise<{
message: MsgModel;
pinned: boolean;
result: SendMsgResult;
}>;
/**
* Unpin a message in chat
*
* @alias pin
*
* @example
* ```javascript
* // Unpin a message
* WPP.chat.unpinMsg('true_[number]@c.us_ABCDEF');
*
* // Alias for
* WPP.chat.pinMsg('true_[number]@c.us_ABCDEF', false);
* ```
* @category Chat
*/
export declare function unpinMsg(msgId: string | MsgKey): Promise<{
message: MsgModel;
pinned: boolean;
result: SendMsgResult;
}>;