Options
All
  • Public
  • Public/Protected
  • All
Menu

sulla-hotfix - v1.8.42

Index

Variables

Const ChromeLauncher

ChromeLauncher: any = require('chrome-launcher')

Const ON_DEATH

ON_DEATH: any = require('death')

Const StealthPlugin

StealthPlugin: any = require('puppeteer-extra-plugin-stealth')

Let browser

browser: any

Const devtools

devtools: any = require('puppeteer-extra-plugin-devtools')()

Const ev

ev: EventEmitter2 = new EventEmitter2({wildcard:true,})

Const fs

fs: any = require('fs')

Const height

height: number = puppeteerConfig.height

path

path: any = require('path')

pjson

pjson: any = require('../../package.json')

Const puppeteer

puppeteer: any = require('puppeteer-extra')

Let qrTimeout

qrTimeout: any

rp

rp: any = require('request-promise')

Let shouldLoop

shouldLoop: boolean = true

uniq

uniq: any = require('lodash.uniq')

Const useragent

useragent: "WhatsApp/0.4.613 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36" = "WhatsApp/0.4.613 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"

Let waPage

waPage: any

Const width

width: number = puppeteerConfig.width

Functions

base64MimeType

  • base64MimeType(encoded: any): any

Const base64ToBytes

  • base64ToBytes(base64Str: any): Uint8Array

create

  • Should be called to initialize whatsapp client. Note You can send all params as a single object with the new ConfigObject that includes both sessionId and customUseragent.

    e.g

    create({
    sessionId: 'main',
    customUserAgent: ' 'WhatsApp/2.16.352 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15',
    blockCrashLogs true,
    ...
    })....

    Parameters

    • Optional sessionId: any | ConfigObject

      Custom id for the session, every phone should have it's own sessionId. THIS CAN BE THE CONFIG OBJECT INSTEAD

    • Optional config: ConfigObject

      The extended custom configuration

    • Optional customUserAgent: string

      A custom user agent to set on the browser page.

    Returns Promise<Whatsapp>

Const createUserAgent

  • createUserAgent(waVersion: string): string

Const decryptMedia

  • decryptMedia(message: any, useragentOverride?: string): Promise<Buffer>
  • Parameters

    • message: any
    • Optional useragentOverride: string

    Returns Promise<Buffer>

Const getBase64

  • getBase64(url: string): Promise<string>

getWhatsappPage

  • getWhatsappPage(browser: Browser): Promise<Page>

Const hexToBytes

  • hexToBytes(hexStr: any): Uint8Array

initBrowser

  • initBrowser(sessionId?: string, puppeteerConfigOverride?: any): Promise<any>
  • Parameters

    • Optional sessionId: string
    • Default value puppeteerConfigOverride: any = {}

    Returns Promise<any>

initWhatsapp

  • initWhatsapp(sessionId?: string, puppeteerConfigOverride?: any, customUserAgent?: string): Promise<Page>
  • Parameters

    • Optional sessionId: string
    • Optional puppeteerConfigOverride: any
    • Optional customUserAgent: string

    Returns Promise<Page>

injectApi

  • injectApi(page: Page): Promise<Page>

Const installMouseHelper

  • installMouseHelper(page: any): Promise<any>

Const isAuthenticated

  • isAuthenticated(waPage: Page): Promise<boolean>
  • Validates if client is authenticated

    Parameters

    • waPage: Page

    Returns Promise<boolean>

    true if is authenticated, false otherwise

Const isInsideChat

  • isInsideChat(waPage: Page): Observable<boolean>

Const kill

  • kill(): Promise<void>

Const magix

  • magix(fileData: any, mediaKeyBase64: any, mediaType: any): Buffer
  • Parameters

    • fileData: any
    • mediaKeyBase64: any
    • mediaType: any

    Returns Buffer

Const needsToScan

  • needsToScan(waPage: Page): Observable<boolean>

randomMouseMovements

  • randomMouseMovements(waPage: Page): Promise<boolean>

retrieveQR

  • retrieveQR(waPage: Page, sessionId?: string, autoRefresh?: boolean, throwErrorOnTosBlock?: boolean): Promise<boolean>
  • Parameters

    • waPage: Page
    • Optional sessionId: string
    • Default value autoRefresh: boolean = false
    • Default value throwErrorOnTosBlock: boolean = false

    Returns Promise<boolean>

Const smartUserAgent

  • smartUserAgent(useragent: string, v?: string): string
  • Use this to generate a more likely valid user agent. It makes sure it has the Whatsapp part and replaces any windows or linux os info with mac.

    Parameters

    • useragent: string

      Your custom user agent

    • Default value v: string = "0.4.315"

      The whatsapp version from the debug info. This is optional. default is 0.4.315

    Returns string

Const timeout

  • timeout(ms: any): Promise<unknown>
  • timeout(ms: any): Promise<unknown>

Object literals

Const mediaTypes

mediaTypes: object

AUDIO

AUDIO: string = "Audio"

DOCUMENT

DOCUMENT: string = "Document"

IMAGE

IMAGE: string = "Image"

PTT

PTT: string = "Audio"

STICKER

STICKER: string = "Image"

VIDEO

VIDEO: string = "Video"

Const puppeteerConfig

puppeteerConfig: object

chromiumArgs

chromiumArgs: string[] = [// `--app=${whatsappUrl}`,'--log-level=3', // fatal only//'--start-maximized','--no-default-browser-check','--disable-site-isolation-trials','--no-experiments','--ignore-gpu-blacklist','--ignore-certificate-errors','--ignore-certificate-errors-spki-list','--disable-gpu','--disable-extensions','--disable-default-apps','--enable-features=NetworkService','--disable-setuid-sandbox','--no-sandbox',// Extras'--disable-webgl','--disable-infobars','--window-position=0,0','--ignore-certifcate-errors','--ignore-certifcate-errors-spki-list','--disable-threaded-animation','--disable-threaded-scrolling','--disable-in-process-stack-traces','--disable-histogram-customizer','--disable-gl-extensions','--disable-composited-antialiasing','--disable-canvas-aa','--disable-3d-apis','--disable-accelerated-2d-canvas','--disable-accelerated-jpeg-decoding','--disable-accelerated-mjpeg-decode','--disable-app-list-dismiss-on-blur','--disable-accelerated-video-decode']

height

height: number = 900

whatsappUrl

whatsappUrl: string = "https://web.whatsapp.com"

width

width: number = 1440