Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MR414N-ID
GitHub Repository: MR414N-ID/botku2
Path: blob/master/node_modules/@adiwajshing/baileys/lib/Utils/messages.d.ts
1129 views
1
/// <reference types="node" />
2
/// <reference types="node" />
3
import { Logger } from 'pino';
4
import { proto } from '../../WAProto';
5
import { AnyMediaMessageContent, AnyMessageContent, MediaGenerationOptions, MessageContentGenerationOptions, MessageGenerationOptions, MessageGenerationOptionsFromContent, MessageUserReceipt, WAMessage, WAMessageContent, WAProto } from '../Types';
6
import { MediaDownloadOptions } from './messages-media';
7
/**
8
* Uses a regex to test whether the string contains a URL, and returns the URL if it does.
9
* @param text eg. hello https://google.com
10
* @returns the URL, eg. https://google.com
11
*/
12
export declare const extractUrlFromText: (text: string) => string | undefined;
13
export declare const generateLinkPreviewIfRequired: (text: string, getUrlInfo: MessageGenerationOptions['getUrlInfo'], logger: MessageGenerationOptions['logger']) => Promise<import("../Types").WAUrlInfo | undefined>;
14
export declare const prepareWAMessageMedia: (message: AnyMediaMessageContent, options: MediaGenerationOptions) => Promise<proto.Message>;
15
export declare const prepareDisappearingMessageSettingContent: (ephemeralExpiration?: number) => proto.Message;
16
/**
17
* Generate forwarded message content like WA does
18
* @param message the message to forward
19
* @param options.forceForward will show the message as forwarded even if it is from you
20
*/
21
export declare const generateForwardMessageContent: (message: WAMessage, forceForward?: boolean) => proto.IMessage;
22
export declare const generateWAMessageContent: (message: AnyMessageContent, options: MessageContentGenerationOptions) => Promise<proto.Message>;
23
export declare const generateWAMessageFromContent: (jid: string, message: WAMessageContent, options: MessageGenerationOptionsFromContent) => proto.WebMessageInfo;
24
export declare const generateWAMessage: (jid: string, content: AnyMessageContent, options: MessageGenerationOptions) => Promise<proto.WebMessageInfo>;
25
/** Get the key to access the true type of content */
26
export declare const getContentType: (content: WAProto.IMessage | undefined) => keyof proto.IMessage | undefined;
27
/**
28
* Normalizes ephemeral, view once messages to regular message content
29
* Eg. image messages in ephemeral messages, in view once messages etc.
30
* @param content
31
* @returns
32
*/
33
export declare const normalizeMessageContent: (content: WAMessageContent | null | undefined) => WAMessageContent | undefined;
34
/**
35
* Extract the true message content from a message
36
* Eg. extracts the inner message from a disappearing message/view once message
37
*/
38
export declare const extractMessageContent: (content: WAMessageContent | undefined | null) => WAMessageContent | undefined;
39
/**
40
* Returns the device predicted by message ID
41
*/
42
export declare const getDevice: (id: string) => "android" | "web" | "ios";
43
/** Upserts a receipt in the message */
44
export declare const updateMessageWithReceipt: (msg: Pick<WAMessage, 'userReceipt'>, receipt: MessageUserReceipt) => void;
45
/** Update the message with a new reaction */
46
export declare const updateMessageWithReaction: (msg: Pick<WAMessage, 'reactions'>, reaction: proto.IReaction) => void;
47
/** Given a list of message keys, aggregates them by chat & sender. Useful for sending read receipts in bulk */
48
export declare const aggregateMessageKeysNotFromMe: (keys: proto.IMessageKey[]) => {
49
jid: string;
50
participant: string | undefined;
51
messageIds: string[];
52
}[];
53
declare type DownloadMediaMessageContext = {
54
reuploadRequest: (msg: WAMessage) => Promise<WAMessage>;
55
logger: Logger;
56
};
57
/**
58
* Downloads the given message. Throws an error if it's not a media message
59
*/
60
export declare const downloadMediaMessage: (message: WAMessage, type: 'buffer' | 'stream', options: MediaDownloadOptions, ctx?: DownloadMediaMessageContext) => Promise<Buffer | import("stream").Transform>;
61
/** Checks whether the given message is a media message; if it is returns the inner content */
62
export declare const assertMediaContent: (content: proto.IMessage | null | undefined) => proto.Message.IVideoMessage | proto.Message.IImageMessage | proto.Message.IAudioMessage | proto.Message.IDocumentMessage | proto.Message.IStickerMessage;
63
/**
64
* this is an experimental patch to make buttons work
65
* Don't know how it works, but it does for now
66
*/
67
export declare const patchMessageForMdIfRequired: (message: proto.IMessage) => proto.IMessage;
68
export {};
69
70