@whiskeysockets/baileys
Version:
A WebSockets library for interacting with WhatsApp Web
42 lines (41 loc) • 1.99 kB
TypeScript
import { AxiosRequestConfig } from 'axios';
import { proto } from '../../WAProto';
import { AuthenticationCreds, BaileysEventEmitter, CacheStore, SignalKeyStoreWithTransaction } from '../Types';
import { ILogger } from './logger';
type ProcessMessageContext = {
shouldProcessHistoryMsg: boolean;
placeholderResendCache?: CacheStore;
creds: AuthenticationCreds;
keyStore: SignalKeyStoreWithTransaction;
ev: BaileysEventEmitter;
logger?: ILogger;
options: AxiosRequestConfig<{}>;
};
/** Cleans a received message to further processing */
export declare const cleanMessage: (message: proto.IWebMessageInfo, meId: string) => void;
export declare const isRealMessage: (message: proto.IWebMessageInfo, meId: string) => boolean | undefined;
export declare const shouldIncrementChatUnread: (message: proto.IWebMessageInfo) => boolean;
/**
* Get the ID of the chat from the given key.
* Typically -- that'll be the remoteJid, but for broadcasts, it'll be the participant
*/
export declare const getChatId: ({ remoteJid, participant, fromMe }: proto.IMessageKey) => string;
type PollContext = {
/** normalised jid of the person that created the poll */
pollCreatorJid: string;
/** ID of the poll creation message */
pollMsgId: string;
/** poll creation message enc key */
pollEncKey: Uint8Array;
/** jid of the person that voted */
voterJid: string;
};
/**
* Decrypt a poll vote
* @param vote encrypted vote
* @param ctx additional info about the poll required for decryption
* @returns list of SHA256 options
*/
export declare function decryptPollVote({ encPayload, encIv }: proto.Message.IPollEncValue, { pollCreatorJid, pollMsgId, pollEncKey, voterJid, }: PollContext): proto.Message.PollVoteMessage;
declare const processMessage: (message: proto.IWebMessageInfo, { shouldProcessHistoryMsg, placeholderResendCache, ev, creds, keyStore, logger, options }: ProcessMessageContext) => Promise<void>;
export default processMessage;