@open-wa/wa-automate-types-only 4.54.6 → 4.55.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,7 +4,7 @@ import { Chat, LiveLocationChangedEvent, ChatState, ChatMuteDuration, GroupChatC
4
4
  import { Contact, NumberCheck } from './model/contact';
5
5
  import { Message, MessageInfo, PollData } from './model/message';
6
6
  import { AxiosRequestConfig } from 'axios';
7
- import { NewCommunityGroup, ParticipantChangedEventModel } from './model/group-metadata';
7
+ import { NewCommunityGroup, ParticipantChangedEventModel, GenericGroupChangeEvent } from './model/group-metadata';
8
8
  import { ConfigObject, STATE, LicenseType, Webhook, EventPayload } from './model';
9
9
  import PQueue, { DefaultAddOptions, Options } from 'p-queue';
10
10
  import { HealthCheck, SessionInfo } from './model/sessionInfo';
@@ -200,8 +200,16 @@ export declare class Client {
200
200
  */
201
201
  onBroadcast(fn: (message: Message) => void): Promise<Listener | boolean>;
202
202
  /**
203
+ * @deprecated
204
+ *
203
205
  * Listens to battery changes
204
206
  *
207
+ * :::caution
208
+ *
209
+ * This will most likely not work with multi-device mode (the only remaining mode) since the session is no longer connected to the phone but directly to WA servers.
210
+ *
211
+ * :::
212
+ *
205
213
  * @event
206
214
  * @param fn callback
207
215
  * @fires number
@@ -316,6 +324,14 @@ export declare class Client {
316
324
  * @returns `true` if the callback was registered
317
325
  */
318
326
  onGlobalParticipantsChanged(fn: (participantChangedEvent: ParticipantChangedEventModel) => void): Promise<Listener | boolean>;
327
+ /**
328
+ * Listens to all group (gp2) events. This can be useful if you want to catch when a group title, subject or picture is changed.
329
+ *
330
+ * @event
331
+ * @param fn callback function that handles a [[ParticipantChangedEventModel]] as the first and only parameter.
332
+ * @returns `true` if the callback was registered
333
+ */
334
+ onGroupChange(fn: (genericGroupChangeEvent: GenericGroupChangeEvent) => void): Promise<Listener | boolean>;
319
335
  /**
320
336
  * Fires callback with Chat object every time the host phone is added to a group.
321
337
  *
@@ -107,5 +107,10 @@ export declare enum SimpleListener {
107
107
  * Requires licence
108
108
  * Represents [[onReaction]]
109
109
  */
110
- Reaction = "onReaction"
110
+ Reaction = "onReaction",
111
+ /**
112
+ * Requires licence
113
+ * Represents [[onGroupChange]]
114
+ */
115
+ GroupChange = "onGroupChange"
111
116
  }
@@ -1,5 +1,7 @@
1
- import { ChatId, ContactId, GroupChatId, NonSerializedId, DataURL, GroupId } from './aliases';
1
+ import { ChatId, ContactId, GroupChatId, NonSerializedId, DataURL, GroupId, MessageId } from './aliases';
2
+ import { Contact } from './contact';
2
3
  export interface Participant {
4
+ contact: Contact;
3
5
  id: NonSerializedId;
4
6
  isAdmin: boolean;
5
7
  isSuperAdmin: boolean;
@@ -100,3 +102,23 @@ export interface NewCommunityGroup {
100
102
  icon?: DataURL;
101
103
  ephemeralDuration?: number;
102
104
  }
105
+ export interface GenericGroupChangeEvent {
106
+ /**
107
+ * The contact who triggered this event. (E.g the contact who changed the group picture)
108
+ */
109
+ author: Contact;
110
+ /**
111
+ * Some more information about the event
112
+ */
113
+ body: string;
114
+ groupMetadata: GroupMetadata;
115
+ /**
116
+ * Base 64 encoded image
117
+ */
118
+ groupPic: string;
119
+ id: MessageId;
120
+ /**
121
+ * Type of the event
122
+ */
123
+ type: 'picutre' | 'create' | 'delete' | 'subject' | 'revoke_invite' | 'description' | 'restrict' | 'announce' | 'no_frequently_forwarded' | 'announce_msg_bounce' | 'add' | 'remove' | 'demote' | 'promote' | 'invite' | 'leave' | 'modify' | 'v4_add_invite_sent' | 'v4_add_invite_join' | 'growth_locked' | 'growth_unlocked' | 'linked_group_join';
124
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-wa/wa-automate-types-only",
3
- "version": "4.54.6",
3
+ "version": "4.55.1",
4
4
  "description": "Types generated from the @open-wa/wa-automate package",
5
5
  "scripts": {
6
6
  "build": "tsc",
@@ -1 +0,0 @@
1
- export * from './socket';
@@ -1,96 +0,0 @@
1
- import { EventEmitter2 } from 'eventemitter2';
2
- import { Socket } from "socket.io-client";
3
- import { Client } from "../api/Client";
4
- import { SimpleListener } from "../api/model/events";
5
- import { Chat, ChatId, Message } from '..';
6
- import { MessageCollector } from '../structures/MessageCollector';
7
- import { CollectorFilter, CollectorOptions } from '../structures/Collector';
8
- /**
9
- * A convenience type that includes all keys from the `Client`.
10
- */
11
- export declare type ClientMethods = keyof Client;
12
- /**
13
- * [ALPHA - API will 100% change in the near future. Don't say I didn't warn you.]
14
- *
15
- *
16
- * An easy to use socket implementation that allows users to connect into remote instances of the EASY API.
17
- *
18
- * How to use it:
19
- *
20
- * 1. Make sure you're running an instance of the EASY API and make sure to start it with the `--socket` flag
21
- * ```bash
22
- * > docker run -e PORT=8080 -p 8080:8080 openwa/wa-automate:latest --socket
23
- * ```
24
- * 2. Use this in your code:
25
- *
26
- * ```javascript
27
- * import { SocketClient } from "@open-wa/wa-automate";
28
- *
29
- * SocketClient.connect("http://localhost:8080").then(async client => {
30
- * //now you can use the client similar to how you would use the http express middleware.
31
- *
32
- * //There are two main commands from this client
33
- *
34
- * // 1. client.listen - use this for your listeners
35
- *
36
- * await client.listen("onMessage", message => {
37
- * ...
38
- * })
39
- *
40
- * // 2. client.asj - ask the main host client to get things done
41
- *
42
- * await client.ask("sendText", {
43
- * "to" : "44771234567@c.us",
44
- * "content": "hellow socket"
45
- * })
46
- *
47
- * // or you can send the arguments in order as an array (or tuple, as the cool kids would say)
48
- * await client.ask("sendText", [
49
- * "44771234567@c.us",
50
- * "hellow socket"
51
- * ])
52
- *
53
- * })
54
- * ```
55
- */
56
- export declare class SocketClient {
57
- url: string;
58
- apiKey: string;
59
- socket: Socket;
60
- /**
61
- * A local version of the `ev` EventEmitter2
62
- */
63
- ev: EventEmitter2;
64
- listeners: {
65
- [listener in SimpleListener]?: {
66
- [id: string]: (data: any) => any;
67
- };
68
- };
69
- /**
70
- * The main way to create the socket baed client.
71
- * @param url URL of the socket server (i.e the EASY API instance address)
72
- * @param apiKey optional api key if set
73
- * @returns SocketClient
74
- */
75
- static connect(url: string, apiKey?: string, ev?: boolean): Promise<SocketClient & Client>;
76
- createMessageCollector(c: Message | ChatId | Chat, filter: CollectorFilter<[Message]>, options: CollectorOptions): Promise<MessageCollector>;
77
- constructor(url: string, apiKey?: string, ev?: boolean);
78
- ask<M extends ClientMethods, P extends Parameters<Pick<Client, M>[M]>>(method: M, args?: any[] | P | {
79
- [k: string]: unknown;
80
- }): Promise<unknown>;
81
- /**
82
- * Set a callback on a simple listener
83
- * @param listener The listener name (e.g onMessage, onAnyMessage, etc.)
84
- * @param callback The callback you need to run on the selected listener
85
- * @returns The id of the callback
86
- */
87
- listen(listener: SimpleListener, callback: (data: unknown) => void): Promise<string>;
88
- /**
89
- * Discard a callback
90
- *
91
- * @param listener The listener name (e.g onMessage, onAnyMessage, etc.)
92
- * @param callbackId The ID from `listen`
93
- * @returns boolean - true if the callback was found and discarded, false if the callback is not found
94
- */
95
- stopListener(listener: SimpleListener, callbackId: string): boolean;
96
- }
@@ -1,13 +0,0 @@
1
- import { Browser, Page } from 'puppeteer';
2
- import { Spin } from './events';
3
- import { ConfigObject } from '../api/model';
4
- export declare let BROWSER_START_TS: number;
5
- export declare function initPage(sessionId?: string, config?: ConfigObject, customUserAgent?: string, spinner?: Spin, _page?: Page, skipAuth?: boolean): Promise<Page>;
6
- export declare const deleteSessionData: (config: ConfigObject) => boolean;
7
- export declare const getSessionDataFilePath: (sessionId: string, config: ConfigObject) => string | boolean;
8
- export declare const addScript: (page: Page, js: string) => Promise<unknown>;
9
- export declare function injectApi(page: Page): Promise<Page>;
10
- /**
11
- * @internal
12
- */
13
- export declare const kill: (p: Page, b?: Browser, exit?: boolean, pid?: number, reason?: string) => Promise<void>;
@@ -1,2 +0,0 @@
1
- import { ConfigObject } from '../api/model/config';
2
- export declare function setupDataDirWatcher(config: ConfigObject): Promise<void>;
@@ -1,5 +0,0 @@
1
- export declare const getConfigWithCase: (config?: {
2
- path: string;
3
- tsconfig: string;
4
- type: string;
5
- }) => unknown;
@@ -1,50 +0,0 @@
1
- import { Request, Response } from "express";
2
- type CustomResponse = Response & {
3
- _swsReq: any;
4
- };
5
- export declare class ElasticEmitter {
6
- queue: any;
7
- pipeline: any;
8
- username: any;
9
- password: any;
10
- elasticURL: any;
11
- enabled: boolean;
12
- lastFlush: any;
13
- hostname: any;
14
- sanitize: any;
15
- version: string;
16
- es7: boolean;
17
- ES_MAX_BUFF: number;
18
- indexBuffer: string;
19
- bufferCount: number;
20
- indexPrefix: string;
21
- ip: any;
22
- /**
23
- *
24
- * @param elasticUrl Elastic search endpoint URL
25
- * @param username Elastic username
26
- * @param password Elastic passowrd
27
- * @param pipeline Pipeline to send the RRR
28
- */
29
- constructor(elasticURL: string, username: string, password: string, max?: number, pipeline?: string, indexPrefix?: string);
30
- private get elasticURLBulk();
31
- private initTemplate;
32
- processRecord(rrr: any): Promise<void>;
33
- flush(): Promise<void>;
34
- elasticMiddleware(config: {
35
- sanitize: Function;
36
- }): (req: Request, res: CustomResponse, next: any) => unknown;
37
- private collectRequestResponseData;
38
- private handleRequest;
39
- private processRequest;
40
- private processResponse;
41
- }
42
- export declare const getStatusCodeClass: (code: number) => string;
43
- export declare const swsStringRecursive: (output: any, val: any) => any;
44
- export declare const swsStringValue: (val: any) => string;
45
- export declare const getPort: (req: any) => number;
46
- export declare const getResponseContentLength: (req: any, res: any) => any;
47
- export declare const getRemoteIP: (req: any) => string;
48
- export declare const getRemoteRealIP: (req: any) => any;
49
- export declare const getApiOpParameterValues: (path: any, method: any, req: any) => {};
50
- export {};