@eryxenx/insta-chat 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +72 -3
- package/DOCS.md +59 -9
- package/LICENSE +2 -1
- package/README.md +40 -6
- package/index.d.ts +131 -6
- package/index.js +1 -1
- package/module/login.js +7 -0
- package/package.json +2 -1
- package/src/api/action/getAppState.js +7 -0
- package/src/api/action/getCookies.js +7 -0
- package/src/api/action/getCurrentUserID.js +7 -0
- package/src/api/action/setOptions.js +7 -0
- package/src/api/messaging/editMessage.js +7 -0
- package/src/api/messaging/markAsRead.js +7 -0
- package/src/api/messaging/resolvePhotoUrl.js +7 -0
- package/src/api/messaging/sendMessage.js +7 -0
- package/src/api/messaging/sendMessageSync.js +7 -0
- package/src/api/messaging/sendTypingIndicator.js +7 -0
- package/src/api/messaging/setMessageReaction.js +7 -0
- package/src/api/messaging/shareContact.js +7 -0
- package/src/api/messaging/unsendMessage.js +7 -0
- package/src/api/realtime/getInbox.js +7 -0
- package/src/api/realtime/listen.js +7 -0
- package/src/api/realtime/stopListening.js +7 -0
- package/src/api/threads/getThreadHistory.js +7 -0
- package/src/api/threads/getThreadInfo.js +7 -0
- package/src/api/threads/getThreadList.js +7 -0
- package/src/api/users/getUID.js +7 -0
- package/src/api/users/getUserInfo.js +7 -0
- package/src/api.js +1 -1
- package/src/app/InstaClient.js +7 -0
- package/src/app/InstaContext.js +7 -0
- package/src/app/createFcaClient.js +7 -0
- package/src/app/loadApiMethods.js +7 -0
- package/src/constants.js +1 -1
- package/src/cookies.js +1 -1
- package/src/deviceIdentity.js +1 -1
- package/src/events/normalizeEvent.js +7 -0
- package/src/http.js +1 -1
- package/src/messageContent.js +1 -1
- package/src/methods/inbox.js +1 -1
- package/src/methods/media.js +1 -1
- package/src/methods/message.js +1 -1
- package/src/methods/reactions.js +1 -1
- package/src/methods/thread.js +1 -1
- package/src/methods/typing.js +1 -1
- package/src/methods/user.js +1 -1
- package/src/session.js +1 -1
- package/src/threadDetail.js +1 -1
- package/src/utils/format.js +7 -0
- package/src/utils/messageStyle.js +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,13 +4,82 @@ All notable changes to `@eryxenx/insta-chat` are documented here.
|
|
|
4
4
|
The format follows [Keep a Changelog](https://keepachangelog.com/) and uses
|
|
5
5
|
[Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [1.1.0] - 2026-10-08
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **FCA / GoatBot-Pro shaped client.** The Facebook-Chat-API surface that used
|
|
12
|
+
to live in the bot as `bot/adapter/IGAdapter.js` now ships inside the package
|
|
13
|
+
as `InstaClient`. `login()` resolves to it by default; `{ native: true }`
|
|
14
|
+
returns the bare `InstaAPI`. It exposes `sendMessage`, `sendMessageSync`,
|
|
15
|
+
`setMessageReaction`, `editMessage`, `unsendMessage`, `getThreadInfo`,
|
|
16
|
+
`getThreadList`, `getThreadHistory`, `getUserInfo`, `getUID`,
|
|
17
|
+
`getCurrentUserID`, `getAppState`/`getCookies`, `listen`, media senders and
|
|
18
|
+
the group-management stubs, so ported commands run unchanged.
|
|
19
|
+
- **One file per method** under `src/api/<group>/<method>.js` (mirroring the
|
|
20
|
+
reference FCA layout): `messaging/`, `threads/`, `users/`, `action/`,
|
|
21
|
+
`realtime/`. Adding a method is adding a file — `loadApiMethods()` attaches
|
|
22
|
+
them all.
|
|
23
|
+
- `src/app/InstaClient.js`, `src/app/InstaContext.js` (per-thread view),
|
|
24
|
+
`src/app/createFcaClient.js` (namespaced `messages.*` / `threads.*` / …),
|
|
25
|
+
`src/events/normalizeEvent.js` (raw inbox event → FCA event) and
|
|
26
|
+
`module/login.js` (classic `login(credentials, callback)`).
|
|
27
|
+
- `wrap()`, `createContext()`, `createFcaClient()`, `EventNormalizer` and
|
|
28
|
+
`loadApiMethods` are exported from the package root.
|
|
29
|
+
- `InstaClient` also re-exposes the native client's methods (`sendPhotoBuffer`,
|
|
30
|
+
`sendVoiceBuffer`, `markThreadSeen`, `getUserInfoByUsername`, …), so a command
|
|
31
|
+
may use either the FCA-style or the native call. FCA-shaped methods win.
|
|
32
|
+
- Tests: `test/client.test.js` (60 checks) covering the FCA surface, reply
|
|
33
|
+
plumbing, reaction/edit routing, the event normalizer, the namespaced view,
|
|
34
|
+
native delegation and the full `api.*` surface the frozen commands call.
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
|
|
38
|
+
- Text styling (`*bold*`, `_italic_`, `~strike~` → Unicode) moved into the
|
|
39
|
+
package as `src/utils/messageStyle.js`, so the client can convert message
|
|
40
|
+
bodies on its own. The bot no longer carries a copy.
|
|
41
|
+
|
|
42
|
+
## [1.0.6] - 2026-10-08
|
|
43
|
+
|
|
44
|
+
### Fixed
|
|
45
|
+
|
|
46
|
+
- **Quote-replies now render.** Captured a real reply from the Instagram web
|
|
47
|
+
client (`IGDirectTextSendMutation`, doc_id `26911679871773184`): it carries
|
|
48
|
+
the target in `reply_to_message_id` and leaves `replied_to_item_id` /
|
|
49
|
+
`replied_to_client_context` null. `send`/`reply`/`sendMessage` now do the
|
|
50
|
+
same, so the quoted bubble shows up in the thread. The old `replied_to_*`
|
|
51
|
+
approach only set a pointer and rendered nothing.
|
|
52
|
+
- `replyToItemId` accepts a message id string/number or an object with
|
|
53
|
+
`messageID`/`id`; the now-unused `replyToClientContext` argument is gone.
|
|
54
|
+
|
|
55
|
+
## [1.0.5] - 2026-10-08
|
|
56
|
+
|
|
57
|
+
### Changed
|
|
58
|
+
|
|
59
|
+
- `send`/`reply`/`sendMessage` accept the reply target as a bare item id, a
|
|
60
|
+
plain context string, or `{ offlineThreadingId | clientContext }`, and
|
|
61
|
+
`getThreadHistory`/inbox items now expose `offlineThreadingId`.
|
|
62
|
+
|
|
63
|
+
### Known limitation
|
|
64
|
+
|
|
65
|
+
- **Quote-replies do not render yet.** Sending `replied_to_item_id` +
|
|
66
|
+
`replied_to_client_context` + `replied_to_action_source: "swipe"` makes
|
|
67
|
+
Instagram store a `replied_to_message_id` pointer, but it does **not** embed
|
|
68
|
+
the quoted message (`replied_to_message` stays null) and the web UI shows no
|
|
69
|
+
quote bubble. The IG web client uses `replySourceId` /
|
|
70
|
+
`replySourceIdMessageID` for this, so the mutation variables above are
|
|
71
|
+
incomplete. Verified by comparing an API-sent reply against an app-sent reply
|
|
72
|
+
in the same thread (the app-sent one renders the quote, the API-sent one does
|
|
73
|
+
not). A fix needs a capture of the real web send request.
|
|
74
|
+
|
|
7
75
|
## [1.0.4] - 2026-10-08
|
|
8
76
|
|
|
9
77
|
### Added
|
|
10
78
|
|
|
11
|
-
- **
|
|
12
|
-
replyToClientContext)` and `replyToMessage(...)` now
|
|
13
|
-
|
|
79
|
+
- **Reply targeting.** `sendMessage(text, threadID, replyToItemId,
|
|
80
|
+
replyToClientContext)` and `replyToMessage(...)` now set a reply pointer on
|
|
81
|
+
the outgoing DM. Note: this sets the pointer only; the quote bubble does not
|
|
82
|
+
render (see 1.0.5). Matching Instagram's native client
|
|
14
83
|
(instagrapi `direct_send`), the mutation carries `replied_to_item_id`, the
|
|
15
84
|
target's `replied_to_client_context` and `replied_to_action_source: "swipe"`;
|
|
16
85
|
previously all three were hard-coded null, so quoted replies went out
|
package/DOCS.md
CHANGED
|
@@ -28,24 +28,73 @@ npm install @eryxenx/insta-chat
|
|
|
28
28
|
const login = require("@eryxenx/insta-chat");
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
`login(cookie, [options], [callback])` returns a `Promise<
|
|
32
|
-
back FCA-style). `cookie` accepts:
|
|
31
|
+
`login(cookie, [options], [callback])` returns a `Promise<InstaClient>` (or
|
|
32
|
+
calls back FCA-style). `cookie` accepts:
|
|
33
33
|
|
|
34
34
|
- a raw `sessionid=...` string,
|
|
35
35
|
- a full browser `Cookie` header (`"k=v; k=v; ..."`),
|
|
36
36
|
- a `{ name: value }` object,
|
|
37
37
|
- a browser-devtools cookie array (`[{ name, value }]`).
|
|
38
38
|
|
|
39
|
+
`InstaClient` is the **FCA-shaped** surface (what GoatBot-Pro / Facebook-Chat-API
|
|
40
|
+
commands call). Pass `{ native: true }` to get the bare `InstaAPI` instead.
|
|
41
|
+
|
|
39
42
|
### options
|
|
40
43
|
|
|
41
44
|
| Key | Default | Meaning |
|
|
42
45
|
|-----|---------|---------|
|
|
46
|
+
| `native` | `false` | Resolve the bare `InstaAPI` instead of the FCA `InstaClient`. |
|
|
43
47
|
| `sessionParams` | – | Pre-harvested browser session params. |
|
|
44
48
|
| `sessionParamsFile` | `./session-params.json` | Load params from disk. |
|
|
45
49
|
| `deviceFile` | `./device.json` | Persisted device identity. |
|
|
46
50
|
| `pollInterval` | `15000` | `listen()` poll interval (ms). |
|
|
47
51
|
|
|
48
|
-
## `
|
|
52
|
+
## `InstaClient` (FCA surface)
|
|
53
|
+
|
|
54
|
+
`InstaClient` wraps a native `InstaAPI` (kept as `.api`) and exposes the
|
|
55
|
+
Facebook-Chat-API shape. Its methods live one-per-file under
|
|
56
|
+
`src/api/<group>/<method>.js` and are attached by `loadApiMethods()`.
|
|
57
|
+
|
|
58
|
+
| Group | Methods |
|
|
59
|
+
|-------|---------|
|
|
60
|
+
| messaging | `sendMessage(form, threadID, cb?, replyToMessage?)`, `sendMessageSync`, `editMessage(text, messageID)`, `unsendMessage(messageID)`, `setMessageReaction(emoji, messageID, cb?, threadID?)`, `sendTypingIndicator`, `markAsRead`, `shareContact`, `resolvePhotoUrl` |
|
|
61
|
+
| threads | `getThreadInfo`, `getThreadList`, `getThreadHistory` |
|
|
62
|
+
| users | `getUserInfo`, `getUID`, `getProfilePictureUrl` |
|
|
63
|
+
| account | `getCurrentUserID`, `getAppState`, `getCookies`, `setOptions` |
|
|
64
|
+
| realtime | `listen`, `stopListening`, `getInbox` |
|
|
65
|
+
| media | `sendPhoto`, `sendPhotoFromUrl`, `sendVideoFromUrl`, `sendVoiceFromUrl` |
|
|
66
|
+
|
|
67
|
+
Group-management calls Instagram DMs cannot do (`changeNickname`, `setTitle`,
|
|
68
|
+
`addUserToGroup`, `removeUserFromGroup`, `changeThreadColor`, `changeThreadEmoji`,
|
|
69
|
+
`changeGroupImage`, `changeAvatar`) return `false` instead of throwing, so
|
|
70
|
+
ported commands degrade cleanly.
|
|
71
|
+
|
|
72
|
+
`createFcaClient(client)` returns a namespaced view (`messages.send()`,
|
|
73
|
+
`threads.getInfo()`, `users.getInfo()`, …) if you prefer namespaces over the
|
|
74
|
+
flat surface. `new InstaContext(client, threadID)` binds a thread for
|
|
75
|
+
`send`/`reply`/`react`/`unsend`/`edit`.
|
|
76
|
+
|
|
77
|
+
### Events
|
|
78
|
+
|
|
79
|
+
`EventNormalizer` turns a raw inbox event into the FCA event shape
|
|
80
|
+
(`senderID`, `threadID`, `messageID`, `body`, `mentions`, `messageReply`,
|
|
81
|
+
`type`, `attachments`, `senderName`). `login()` output is not required — pass
|
|
82
|
+
any `InstaClient`:
|
|
83
|
+
|
|
84
|
+
```javascript
|
|
85
|
+
const { EventNormalizer } = require("@eryxenx/insta-chat");
|
|
86
|
+
const normalizer = new EventNormalizer(client);
|
|
87
|
+
api.listen(async (err, raw) => {
|
|
88
|
+
if (err) return;
|
|
89
|
+
const event = await normalizer.normalize(raw);
|
|
90
|
+
if (event) console.log(event.senderID, event.body);
|
|
91
|
+
});
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## `InstaAPI` (native)
|
|
95
|
+
|
|
96
|
+
The low-level client `InstaClient` wraps. `login({ native: true })` returns it
|
|
97
|
+
directly; `client.api` is always one.
|
|
49
98
|
|
|
50
99
|
### Identity
|
|
51
100
|
|
|
@@ -57,17 +106,18 @@ back FCA-style). `cookie` accepts:
|
|
|
57
106
|
|
|
58
107
|
### Messaging
|
|
59
108
|
|
|
60
|
-
`sendMessage(text, threadID, replyToItemId
|
|
61
|
-
`replyToMessage(threadID, text, replyToItemId
|
|
109
|
+
`sendMessage(text, threadID, replyToItemId?)`,
|
|
110
|
+
`replyToMessage(threadID, text, replyToItemId?)`,
|
|
62
111
|
`sendLink(threadID, link, text)`, `sendReaction(threadID, itemID, emoji)`,
|
|
63
112
|
`removeReaction(threadID, itemID)`, `unsendMessage(threadID, itemID)`,
|
|
64
113
|
`editMessage(threadID, itemID, text)`,
|
|
65
114
|
`startTyping(threadID)`, `stopTyping(threadID)`.
|
|
66
115
|
|
|
67
|
-
Pass
|
|
68
|
-
`api.replyToMessage(threadID, "hi", event.messageID)`.
|
|
69
|
-
|
|
70
|
-
`
|
|
116
|
+
Pass the target message id as `replyToItemId` to send a quote-reply, e.g.
|
|
117
|
+
`api.replyToMessage(threadID, "hi", event.messageID)`. The id is any message's
|
|
118
|
+
`item_id` / `messageID` (an Instagram `mid.$...` value). It is sent in
|
|
119
|
+
`reply_to_message_id`, which is the field the Instagram web client uses, and
|
|
120
|
+
renders the quote bubble in the thread.
|
|
71
121
|
|
|
72
122
|
### Media
|
|
73
123
|
|
package/LICENSE
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
Apache License
|
|
2
3
|
Version 2.0, January 2004
|
|
3
4
|
http://www.apache.org/licenses/
|
|
@@ -186,7 +187,7 @@
|
|
|
186
187
|
same "printed page" as the copyright notice for easier
|
|
187
188
|
identification within third-party archives.
|
|
188
189
|
|
|
189
|
-
Copyright
|
|
190
|
+
Copyright [yyyy] [name of copyright owner]
|
|
190
191
|
|
|
191
192
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
193
|
you may not use this file except in compliance with the License.
|
package/README.md
CHANGED
|
@@ -107,17 +107,43 @@ go stale use `api.refreshSession()`.
|
|
|
107
107
|
|
|
108
108
|
| Call | Description |
|
|
109
109
|
|------|-------------|
|
|
110
|
-
| `login(cookie, [options], [cb])` | Returns/clbacks a ready `
|
|
110
|
+
| `login(cookie, [options], [cb])` | Returns/clbacks a ready `InstaClient` (FCA surface). |
|
|
111
|
+
| `login(cookie, { native: true })` | Returns the bare `InstaAPI` instead. |
|
|
111
112
|
| `createClient(cookie, [options])` | Alias of `login`. |
|
|
112
113
|
|
|
113
|
-
`options`: `{ sessionParams, sessionParamsFile, deviceFile, pollInterval }`.
|
|
114
|
+
`options`: `{ native, sessionParams, sessionParamsFile, deviceFile, pollInterval }`.
|
|
114
115
|
|
|
115
|
-
###
|
|
116
|
+
### Two layers
|
|
117
|
+
|
|
118
|
+
| Layer | What it is | How to get it |
|
|
119
|
+
|-------|-----------|---------------|
|
|
120
|
+
| `InstaClient` | FCA / GoatBot-Pro shaped surface (`sendMessage`, `setMessageReaction`, `getThreadInfo`, …) | `login(...)` |
|
|
121
|
+
| `InstaAPI` | Native Instagram client (`sendReaction`, `sendPhotoBuffer`, `getInbox`, …) | `login(..., { native: true })` or `client.api` |
|
|
122
|
+
|
|
123
|
+
The FCA methods are one file each under `src/api/<group>/<method>.js`; adding a
|
|
124
|
+
method is adding a file. `createFcaClient(client)` gives a namespaced view
|
|
125
|
+
(`messages.send()`, `threads.getInfo()`); `new InstaContext(client, threadID)`
|
|
126
|
+
binds a thread. `EventNormalizer` maps raw inbox events to the FCA event shape.
|
|
127
|
+
|
|
128
|
+
### Messaging (FCA surface)
|
|
129
|
+
|
|
130
|
+
| Method | Description |
|
|
131
|
+
|--------|-------------|
|
|
132
|
+
| `sendMessage(form, threadID, [cb], [replyToMessage])` | Send text/attachment; quote-reply by passing the target message id. |
|
|
133
|
+
| `editMessage(text, messageID)` | Edit an outgoing message (within 15 min). |
|
|
134
|
+
| `unsendMessage(messageID)` | Unsend a message. |
|
|
135
|
+
| `setMessageReaction(emoji, messageID, [cb], [threadID])` | React to a message. |
|
|
136
|
+
| `sendTypingIndicator(threadID)` | Typing indicator. |
|
|
137
|
+
| `getThreadInfo` / `getThreadList` / `getThreadHistory` | Thread reads. |
|
|
138
|
+
| `getUserInfo` / `getUID` | User lookup. |
|
|
139
|
+
| `getAppState` / `getCookies` | Cookie jar. |
|
|
140
|
+
|
|
141
|
+
### Messaging (native `InstaAPI`)
|
|
116
142
|
|
|
117
143
|
| Method | Description |
|
|
118
144
|
|--------|-------------|
|
|
119
145
|
| `sendMessage(text, threadID, replyToItemId?)` | Send a text DM (optionally quote-reply). |
|
|
120
|
-
| `replyToMessage(threadID, text, replyToItemId
|
|
146
|
+
| `replyToMessage(threadID, text, replyToItemId?)` | Send a reply (quote the target item). |
|
|
121
147
|
| `sendLink(threadID, link, text)` | Send a link with optional text. |
|
|
122
148
|
| `sendReaction(threadID, itemID, emoji)` | React to a message. |
|
|
123
149
|
| `removeReaction(threadID, itemID)` | Remove a reaction. |
|
|
@@ -189,13 +215,21 @@ const login = require("@eryxenx/insta-chat");
|
|
|
189
215
|
|------|-------------|
|
|
190
216
|
| `index.js` | Entry point; exports `login` + helpers. |
|
|
191
217
|
| `index.d.ts` | TypeScript definitions. |
|
|
192
|
-
| `
|
|
218
|
+
| `module/login.js` | Classic `login(credentials, [options], [callback])`. |
|
|
219
|
+
| `src/api.js` | `InstaAPI` facade wiring every native method group. |
|
|
220
|
+
| `src/api/` | FCA methods, one file each: `messaging/`, `threads/`, `users/`, `action/`, `realtime/`. |
|
|
221
|
+
| `src/app/InstaClient.js` | The FCA-shaped client. |
|
|
222
|
+
| `src/app/InstaContext.js` | Per-thread view over a client. |
|
|
223
|
+
| `src/app/createFcaClient.js` | Namespaced view (`messages.*`, `threads.*`). |
|
|
224
|
+
| `src/app/loadApiMethods.js` | Attaches every `src/api/*/*.js` onto a client. |
|
|
225
|
+
| `src/events/normalizeEvent.js` | Raw inbox event → FCA event. |
|
|
226
|
+
| `src/utils/messageStyle.js` | `*bold*` / `_italic_` → Unicode. |
|
|
193
227
|
| `src/http.js` | HTTP client: web headers, session params, GraphQL, rupload. |
|
|
194
228
|
| `src/constants.js` | Endpoint + Relay `doc_id` table. |
|
|
195
229
|
| `src/cookies.js` | Cookie parsing / normalization. |
|
|
196
230
|
| `src/session.js` | Browser session-param harvesting (`puppeteer-core`). |
|
|
197
231
|
| `src/deviceIdentity.js` | Persisted device identity. |
|
|
198
|
-
| `src/methods/` | `message`, `media`, `reactions`, `thread`, `user`, `inbox`, `typing`. |
|
|
232
|
+
| `src/methods/` | Native: `message`, `media`, `reactions`, `thread`, `user`, `inbox`, `typing`. |
|
|
199
233
|
|
|
200
234
|
See [DOCS.md](./DOCS.md) for the full protocol notes (GraphQL doc_ids, send /
|
|
201
235
|
upload / reaction flows).
|
package/index.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export interface InstaChatOptions {
|
|
|
10
10
|
deviceFile?: string;
|
|
11
11
|
/** Polling interval in ms for listen(). Defaults to 15000. */
|
|
12
12
|
pollInterval?: number;
|
|
13
|
+
/** login() resolves the native InstaAPI instead of the FCA-shaped InstaClient. */
|
|
14
|
+
native?: boolean;
|
|
13
15
|
}
|
|
14
16
|
|
|
15
17
|
export interface SendOptions {
|
|
@@ -34,6 +36,8 @@ export interface ReplyContext {
|
|
|
34
36
|
itemType: string;
|
|
35
37
|
/** Relay client_context of the quoted item (needed to reply-quote it). */
|
|
36
38
|
clientContext?: string | null;
|
|
39
|
+
/** offline_threading_id of the quoted item — IG's replied_to_client_context. */
|
|
40
|
+
offlineThreadingId?: string | null;
|
|
37
41
|
timestamp: number | null;
|
|
38
42
|
}
|
|
39
43
|
|
|
@@ -48,6 +52,8 @@ export interface IncomingEvent {
|
|
|
48
52
|
repliedToItemId: string | null;
|
|
49
53
|
/** Present when the message is a reply (resolved from IGDThreadDetailQuery). */
|
|
50
54
|
repliedToMessage: ReplyContext | null;
|
|
55
|
+
/** offline_threading_id of the quoted message (informational). */
|
|
56
|
+
offlineThreadingId: string | null;
|
|
51
57
|
timestamp: number;
|
|
52
58
|
}
|
|
53
59
|
|
|
@@ -65,6 +71,7 @@ export interface ThreadHistoryItem {
|
|
|
65
71
|
attachments: Attachment[];
|
|
66
72
|
repliedToItemId: string | null;
|
|
67
73
|
repliedToMessage: ReplyContext | null;
|
|
74
|
+
offlineThreadingId: string | null;
|
|
68
75
|
timestamp: number | null;
|
|
69
76
|
}
|
|
70
77
|
|
|
@@ -76,18 +83,135 @@ export interface CookieUtils {
|
|
|
76
83
|
parse(input: string): Record<string, string>;
|
|
77
84
|
}
|
|
78
85
|
|
|
86
|
+
// The FCA / GoatBot-Pro shaped client. Commands written for the Facebook Chat
|
|
87
|
+
// API (sendMessage, setMessageReaction, getThreadInfo, ...) run against this.
|
|
88
|
+
export declare class InstaClient {
|
|
89
|
+
constructor(instaApi: InstaAPI, options?: InstaChatOptions);
|
|
90
|
+
|
|
91
|
+
/** The underlying native client (native sendMessage/sendReaction/...). */
|
|
92
|
+
api: InstaAPI;
|
|
93
|
+
userID: string | null;
|
|
94
|
+
username: string | null;
|
|
95
|
+
http: any;
|
|
96
|
+
|
|
97
|
+
// messaging
|
|
98
|
+
sendMessage(
|
|
99
|
+
form: string | { body?: string; attachment?: any; attachments?: any[] },
|
|
100
|
+
threadID: string,
|
|
101
|
+
callback?: ((err: any, info: any) => void) | string,
|
|
102
|
+
replyToMessage?: string | { messageID?: string; id?: string }
|
|
103
|
+
): Promise<{ messageID: string | null; threadID: string; timestamp: number }>;
|
|
104
|
+
sendMessageSync(form: any, threadID: string): Promise<any>;
|
|
105
|
+
editMessage(text: string, messageID: string, callback?: (err: any, res: any) => void): Promise<any>;
|
|
106
|
+
unsendMessage(messageID: string, callback?: (err: any, ok: any) => void): Promise<boolean>;
|
|
107
|
+
setMessageReaction(emoji: string, messageID: string, callback?: (err: any, info: any) => void, threadID?: string | boolean): Promise<any>;
|
|
108
|
+
sendTypingIndicator(threadID: string): Promise<boolean>;
|
|
109
|
+
markAsRead(threadID: string, itemID: string): Promise<boolean>;
|
|
110
|
+
shareContact(uid: string, uid2: string, threadID: string, callback?: (err: any, info: any) => void): Promise<any>;
|
|
111
|
+
resolvePhotoUrl(url: string): string;
|
|
112
|
+
|
|
113
|
+
// threads
|
|
114
|
+
getThreadInfo(threadID: string, callback?: (err: any, info: any) => void): Promise<any>;
|
|
115
|
+
getThreadList(limit?: number, timestamp?: any, tags?: any, callback?: (err: any, list: any[]) => void): Promise<any[]>;
|
|
116
|
+
getThreadHistory(threadID: string, amount?: number, timestamp?: any, callback?: (err: any, items: any[]) => void): Promise<any[]>;
|
|
117
|
+
|
|
118
|
+
// users
|
|
119
|
+
getUserInfo(ids: string | string[], callback?: (err: any, info: any) => void): Promise<Record<string, any>>;
|
|
120
|
+
getUID(input: string): string | null;
|
|
121
|
+
getProfilePictureUrl(idOrUsername: string): Promise<string | null>;
|
|
122
|
+
|
|
123
|
+
// account
|
|
124
|
+
getCurrentUserID(): string | null;
|
|
125
|
+
getAppState(): Array<{ key: string; value: string; domain?: string; path?: string }>;
|
|
126
|
+
getCookies(): Array<{ key: string; value: string; domain?: string; path?: string }>;
|
|
127
|
+
setOptions(...args: any[]): boolean;
|
|
128
|
+
|
|
129
|
+
// media
|
|
130
|
+
sendPhoto(threadID: string, src: any, opts?: SendOptions, callback?: Function): Promise<any>;
|
|
131
|
+
sendPhotoBuffer(threadID: string, buffer: Buffer, opts?: SendOptions): Promise<any>;
|
|
132
|
+
sendPhotoFromUrl(threadID: string, url: string, opts?: SendOptions, callback?: Function): Promise<any>;
|
|
133
|
+
sendVideoFromUrl(threadID: string, url: string, opts?: SendOptions, callback?: Function): Promise<any>;
|
|
134
|
+
sendVoiceFromUrl(threadID: string, url: string, opts?: SendOptions, callback?: Function): Promise<any>;
|
|
135
|
+
sendVoiceBuffer(threadID: string, buffer: Buffer, opts?: SendOptions): Promise<any>;
|
|
136
|
+
sendVideoBuffer(threadID: string, buffer: Buffer, opts?: SendOptions): Promise<any>;
|
|
137
|
+
|
|
138
|
+
// Native methods not overridden by the FCA surface are re-exposed as-is
|
|
139
|
+
// (markThreadSeen, muteThread, unmuteThread, hideThread, getUserInfoByUsername,
|
|
140
|
+
// searchUsers, removeReaction, startTyping, stopTyping, replyToMessage, ...).
|
|
141
|
+
[nativeMethod: string]: any;
|
|
142
|
+
|
|
143
|
+
// realtime
|
|
144
|
+
listen(callback: (err: Error | null, event: IncomingEvent | null) => void, intervalMs?: number): () => void;
|
|
145
|
+
stopListening(): void;
|
|
146
|
+
getInbox(cursor?: string): Promise<InboxResult>;
|
|
147
|
+
rememberThread(messageID: string, threadID: string): void;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/** Per-thread convenience view over an InstaClient. */
|
|
151
|
+
export declare class InstaContext {
|
|
152
|
+
constructor(client: InstaClient, threadID: string | null);
|
|
153
|
+
client: InstaClient;
|
|
154
|
+
threadID: string | null;
|
|
155
|
+
send(form: any, callback?: Function, replyToMessage?: string): Promise<any>;
|
|
156
|
+
reply(form: any, callback?: Function, messageID?: string): Promise<any>;
|
|
157
|
+
react(emoji: string, messageID: string, callback?: Function): Promise<any>;
|
|
158
|
+
unsend(messageID: string, callback?: Function): Promise<any>;
|
|
159
|
+
edit(text: string, messageID: string, callback?: Function): Promise<any>;
|
|
160
|
+
typing(): Promise<boolean>;
|
|
161
|
+
getInfo(callback?: Function): Promise<any>;
|
|
162
|
+
getHistory(amount?: number, callback?: Function): Promise<any[]>;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/** Namespaced view: client.messages.send(), client.threads.getInfo(), ... */
|
|
166
|
+
export declare function createFcaClient(client: InstaClient): {
|
|
167
|
+
raw: InstaClient;
|
|
168
|
+
messages: Record<string, Function>;
|
|
169
|
+
threads: Record<string, Function>;
|
|
170
|
+
users: Record<string, Function>;
|
|
171
|
+
account: Record<string, Function>;
|
|
172
|
+
realtime: Record<string, Function>;
|
|
173
|
+
http: Record<string, Function>;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
/** Normalizes a raw Instagram inbox event into the FCA event shape. */
|
|
177
|
+
export declare class EventNormalizer {
|
|
178
|
+
constructor(client: InstaClient);
|
|
179
|
+
normalize(raw: any): Promise<any | null>;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export declare function loadApiMethods(client: InstaClient): string[];
|
|
183
|
+
export declare function wrap(native: InstaAPI, options?: InstaChatOptions): InstaClient;
|
|
184
|
+
export declare function createContext(nativeOrClient: InstaAPI | InstaClient, threadID: string): InstaContext;
|
|
185
|
+
|
|
79
186
|
export interface LoginExport {
|
|
80
|
-
(cookie: string | object, options?: InstaChatOptions): Promise<InstaAPI>;
|
|
81
|
-
(cookie: string | object, callback: (err: Error | null, api: InstaAPI | null) => void): void;
|
|
82
|
-
(cookie: string | object, options: InstaChatOptions, callback: (err: Error | null, api: InstaAPI | null) => void): void;
|
|
187
|
+
(cookie: string | object, options?: InstaChatOptions & { native?: boolean }): Promise<InstaClient | InstaAPI>;
|
|
188
|
+
(cookie: string | object, callback: (err: Error | null, api: InstaClient | InstaAPI | null) => void): void;
|
|
189
|
+
(cookie: string | object, options: InstaChatOptions & { native?: boolean }, callback: (err: Error | null, api: InstaClient | InstaAPI | null) => void): void;
|
|
83
190
|
InstaAPI: typeof InstaAPI;
|
|
84
|
-
|
|
191
|
+
InstaClient: typeof InstaClient;
|
|
192
|
+
InstaContext: typeof InstaContext;
|
|
193
|
+
EventNormalizer: typeof EventNormalizer;
|
|
194
|
+
createClient(cookie: string | object, options?: InstaChatOptions): Promise<InstaClient | InstaAPI>;
|
|
195
|
+
createFcaClient: typeof createFcaClient;
|
|
196
|
+
loadApiMethods: typeof loadApiMethods;
|
|
197
|
+
wrap: typeof wrap;
|
|
198
|
+
createContext: typeof createContext;
|
|
85
199
|
CookieUtils: CookieUtils;
|
|
86
200
|
harvestSessionParams(cookieJar: Record<string, string>, options?: object): Promise<Record<string, string>>;
|
|
87
201
|
findChromium(): string | undefined;
|
|
88
202
|
constants: any;
|
|
203
|
+
moduleLogin: LoginExport;
|
|
89
204
|
}
|
|
90
205
|
|
|
206
|
+
export const InstaClient: typeof InstaClient;
|
|
207
|
+
export const InstaContext: typeof InstaContext;
|
|
208
|
+
export const EventNormalizer: typeof EventNormalizer;
|
|
209
|
+
export const createFcaClient: typeof createFcaClient;
|
|
210
|
+
export const loadApiMethods: typeof loadApiMethods;
|
|
211
|
+
export const wrap: typeof wrap;
|
|
212
|
+
export const createContext: typeof createContext;
|
|
213
|
+
export const moduleLogin: LoginExport;
|
|
214
|
+
|
|
91
215
|
export declare class InstaAPI {
|
|
92
216
|
constructor(cookieRaw: string | object, options?: InstaChatOptions);
|
|
93
217
|
|
|
@@ -99,8 +223,9 @@ export declare class InstaAPI {
|
|
|
99
223
|
getCurrentUserID(): string | null;
|
|
100
224
|
|
|
101
225
|
// messaging
|
|
102
|
-
|
|
103
|
-
|
|
226
|
+
/** replyToItemId is the target message id (item_id / messageID). */
|
|
227
|
+
sendMessage(text: string, threadID: string, replyToItemId?: string | number | { messageID?: string; id?: string } | null): Promise<any>;
|
|
228
|
+
replyToMessage(threadID: string, text: string, replyToItemId?: string | number | { messageID?: string; id?: string } | null): Promise<any>;
|
|
104
229
|
sendLink(threadID: string, link: string, text?: string): Promise<any>;
|
|
105
230
|
unsendMessage(threadID: string, itemID: string): Promise<any>;
|
|
106
231
|
editMessage(threadID: string, itemID: string, text: string): Promise<any>;
|
package/index.js
CHANGED
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
* Licensed under the Apache License, Version 2.0. See LICENSE and NOTICE.
|
|
5
5
|
* Original author credit must be retained in all copies and derivatives.
|
|
6
6
|
*/
|
|
7
|
-
'use strict';function _0xdd1c(_0x59aafd,_0x507c9d){_0x59aafd=_0x59aafd-0xef;const _0x2aed2b=_0x2aed();let _0xdd1cf0=_0x2aed2b[_0x59aafd];if(_0xdd1c['dWIEAD']===undefined){var _0x52a647=function(_0x53995c){const _0x27cd72='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5d3b50='',_0x1bed7f='';for(let _0x2f853c=0x0,_0x295a20,_0x41acdd,_0x213946=0x0;_0x41acdd=_0x53995c['charAt'](_0x213946++);~_0x41acdd&&(_0x295a20=_0x2f853c%0x4?_0x295a20*0x40+_0x41acdd:_0x41acdd,_0x2f853c++%0x4)?_0x5d3b50+=String['fromCharCode'](0xff&_0x295a20>>(-0x2*_0x2f853c&0x6)):0x0){_0x41acdd=_0x27cd72['indexOf'](_0x41acdd);}for(let _0x306d00=0x0,_0x5ed81d=_0x5d3b50['length'];_0x306d00<_0x5ed81d;_0x306d00++){_0x1bed7f+='%'+('00'+_0x5d3b50['charCodeAt'](_0x306d00)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1bed7f);};const _0x543939=function(_0x448a39,_0x2ac1c5){let _0x4067b7=[],_0x3c3aed=0x0,_0x3ac921,_0x5b3051='';_0x448a39=_0x52a647(_0x448a39);let _0x56953c;for(_0x56953c=0x0;_0x56953c<0x100;_0x56953c++){_0x4067b7[_0x56953c]=_0x56953c;}for(_0x56953c=0x0;_0x56953c<0x100;_0x56953c++){_0x3c3aed=(_0x3c3aed+_0x4067b7[_0x56953c]+_0x2ac1c5['charCodeAt'](_0x56953c%_0x2ac1c5['length']))%0x100,_0x3ac921=_0x4067b7[_0x56953c],_0x4067b7[_0x56953c]=_0x4067b7[_0x3c3aed],_0x4067b7[_0x3c3aed]=_0x3ac921;}_0x56953c=0x0,_0x3c3aed=0x0;for(let _0x380ffe=0x0;_0x380ffe<_0x448a39['length'];_0x380ffe++){_0x56953c=(_0x56953c+0x1)%0x100,_0x3c3aed=(_0x3c3aed+_0x4067b7[_0x56953c])%0x100,_0x3ac921=_0x4067b7[_0x56953c],_0x4067b7[_0x56953c]=_0x4067b7[_0x3c3aed],_0x4067b7[_0x3c3aed]=_0x3ac921,_0x5b3051+=String['fromCharCode'](_0x448a39['charCodeAt'](_0x380ffe)^_0x4067b7[(_0x4067b7[_0x56953c]+_0x4067b7[_0x3c3aed])%0x100]);}return _0x5b3051;};_0xdd1c['teTEEe']=_0x543939,_0xdd1c['PDXlIe']={},_0xdd1c['dWIEAD']=!![];}const _0x2e72bd=_0x2aed2b[0x0],_0x554395=_0x59aafd+_0x2e72bd,_0x6c1732=_0xdd1c['PDXlIe'][_0x554395];return!_0x6c1732?(_0xdd1c['HxIhQD']===undefined&&(_0xdd1c['HxIhQD']=!![]),_0xdd1cf0=_0xdd1c['teTEEe'](_0xdd1cf0,_0x507c9d),_0xdd1c['PDXlIe'][_0x554395]=_0xdd1cf0):_0xdd1cf0=_0x6c1732,_0xdd1cf0;}const _0x52a6d2=_0xdd1c,_0x54966c=_0xdd1c;(function(_0x26865a,_0x453e15){const _0x45c50b=_0xdd1c,_0x5eaf60=_0xdd1c,_0x5dfe65=_0x26865a();while(!![]){try{const _0x1c1b76=-parseInt(_0x45c50b(0x108,'E*&b'))/0x1+-parseInt(_0x45c50b(0x100,'QYZ0'))/0x2+-parseInt(_0x45c50b(0x115,'7aZS'))/0x3*(parseInt(_0x45c50b(0xf8,'*C3J'))/0x4)+parseInt(_0x45c50b(0x126,'NHc)'))/0x5+-parseInt(_0x5eaf60(0xfa,'b)]*'))/0x6*(-parseInt(_0x45c50b(0xf5,'I%8d'))/0x7)+-parseInt(_0x5eaf60(0x124,'!aSi'))/0x8+parseInt(_0x45c50b(0x106,'BVy['))/0x9;if(_0x1c1b76===_0x453e15)break;else _0x5dfe65['push'](_0x5dfe65['shift']());}catch(_0x4f88eb){_0x5dfe65['push'](_0x5dfe65['shift']());}}}(_0x2aed,0x8eef2));const InstaAPI=require(_0x52a6d2(0x121,'7aZS')+_0x52a6d2(0xf6,'BVy[')),constants=require(_0x52a6d2(0x11c,'NIVX')+_0x52a6d2(0x120,'0I$K')+_0x54966c(0x112,'^^Gw')),{normalizeCookie}=require(_0x54966c(0xf1,'7ajV')+_0x52a6d2(0x104,'*C3J')+'s'),{harvestSessionParams,findChromium}=require(_0x52a6d2(0x11f,'^u8K')+_0x52a6d2(0xff,'HIIU')+'n');function _0x2aed(){const _0xe97032=['W5a3hb/dRcC','DSk9n8kEpCkyA8kFcCoNWPTUW6O','vSoRW4anlxO','WOaAW5VdGXim','e8oDW5hdIIS','iwyJWQ/cN1i','WPG0rmo2WQ/cSq','Ccj9W73dKGNdTwJcPX1taSkq','AmoUjq','eMCKWQdcMa','WQOjy8kDi1aeza','egOAfSkCDq','WRhdK0RcQCoSAXy','j8k1WPPqCI7cPHhcKmknnGK','W4GtwZNdQbxcP34UxNLgtW','W5XiWOiCWRO','jfO1nCoCW5y','W4izpvy0cq','WObMsK/cN3FdLYZcNf8iza','W5fSqSoXWP4','WPT9W7Hata','BH7cH8kKCxq','W7TEs8kohgq','W4SBlhpcJ3ZdLLy','omkSDCkFWRbzlXWzoSksW4eNCG','W7TdqCkeawq','W67dTWS7WO51etZcHXKcW6vT','wshcI8kYBgK','W6LXW4RdHXm','WONcNwPLW7S','WOa3E8kgW7S','W68oW6ZdPmo8Aa','t8kBBrjQWRS','W4GruJRdQXZcOdaEBMPWrmkM','WPtcOmkdx2fl','WPBdVwvGjqi','aZxdLa','WRtdUWbaDf8','W57dTCoUW4RdKmkl','qc85WPJcOwhcVsvwW6NdObi','nmoEWPqCfSki','WOznFHrKveiRWPVdRMRcRNm','W58cW7xdP8o9','WPldNgD4rfC','WPVcO8kArSkrlq','C8onWRXtW7ddNtC','xfL9W5Czma','DmkDW6SqWPxcJfusW6xdSSoQluO','W6uyW4ZdQSo8Fq','WPxcOSoTW5FdGCoq','mmkdksNcSCkp','xdf/W5ZdTh8','m3SOWQi','tgvEeJmb','tSkMWRVcKNJdLmo0fmoxW51Zbq0','FSkBBXb2WRm','dmobvSoUjCoeWRJdOmosW6nBW4RdOa','f2z8W4hdPsq'];_0x2aed=function(){return _0xe97032;};return _0x2aed();}function login(_0x4afaeb,_0x28a3ae,_0x1cfff0){const _0x382f55=_0x54966c,_0x262a36=_0x54966c,_0x3e5c43={'VZQlD':function(_0xcdcb73,_0x38cec5){return _0xcdcb73===_0x38cec5;},'TJkJA':_0x382f55(0xf3,'I%8d')+'on','oOXkf':function(_0x2988b3,_0x4e372d){return _0x2988b3||_0x4e372d;}};_0x3e5c43[_0x262a36(0x10b,'E*&b')](typeof _0x28a3ae,_0x3e5c43[_0x382f55(0x10c,'inxC')])&&(_0x1cfff0=_0x28a3ae,_0x28a3ae={});_0x28a3ae=_0x3e5c43[_0x262a36(0xf2,'!aSi')](_0x28a3ae,{});const _0x4368e0=((async()=>{const _0x2f4c50=new InstaAPI(_0x4afaeb,_0x28a3ae);return await _0x2f4c50['init'](),_0x2f4c50;})());if(_0x3e5c43[_0x382f55(0xfd,'Vzv4')](typeof _0x1cfff0,_0x3e5c43[_0x382f55(0x102,'zLC(')]))return _0x4368e0[_0x382f55(0x122,'I%8d')](_0x2e1805=>_0x1cfff0(null,_0x2e1805),_0x1517cf=>_0x1cfff0(_0x1517cf,null)),undefined;return _0x4368e0;}function createClient(_0x3b6f5f,_0x1f3fdd){const _0x5b026c=_0x52a6d2,_0x417634={'GDbvb':function(_0x34766f,_0x157dbb,_0xce87da){return _0x34766f(_0x157dbb,_0xce87da);}};return _0x417634[_0x5b026c(0x10a,'7ajV')](login,_0x3b6f5f,_0x1f3fdd);}login[_0x52a6d2(0x111,'$)8y')+'PI']=InstaAPI,login[_0x54966c(0x113,'chA)')+_0x54966c(0x109,'vX$z')]=createClient,login[_0x54966c(0xf0,'IQU&')+_0x54966c(0xf7,'I%8d')]={'parse':normalizeCookie},login['harves'+'tSessi'+_0x54966c(0x11e,'Ion4')+'ms']=harvestSessionParams,login[_0x54966c(0x128,'QYZ0')+'romium']=findChromium,module['export'+'s']=login,module[_0x54966c(0x114,'^u8K')+'s'][_0x52a6d2(0x101,'SRMd')]=login,module[_0x54966c(0x10d,'Ion4')+'s'][_0x54966c(0xfe,'W*im')+'t']=login,module[_0x52a6d2(0x127,'7aZS')+'s'][_0x54966c(0x107,'*C3J')+'Client']=createClient,module['export'+'s'][_0x54966c(0xf4,'iB57')+'PI']=InstaAPI,module['export'+'s'][_0x52a6d2(0x125,'h5t(')+_0x54966c(0x118,'Ion4')]={'parse':normalizeCookie},module[_0x52a6d2(0x110,'G)2#')+'s'][_0x52a6d2(0xf9,'Af$P')+_0x52a6d2(0x103,'vX$z')+'onPara'+'ms']=harvestSessionParams,module[_0x52a6d2(0x116,'rVyf')+'s'][_0x54966c(0x119,'vWuz')+_0x52a6d2(0x10e,'h5t(')]=findChromium,module[_0x54966c(0x123,'K01b')+'s'][_0x54966c(0x11a,'pUo8')+'nts']=constants;
|
|
7
|
+
'use strict';const _0x3f836f=_0x1dd6,_0x3d8efe=_0x1dd6;(function(_0x53f316,_0x3f6f3b){const _0x2c7ec8=_0x1dd6,_0x5ae700=_0x1dd6,_0x38abd6=_0x53f316();while(!![]){try{const _0x201c33=-parseInt(_0x2c7ec8(0x257,'fC&o'))/0x1+-parseInt(_0x2c7ec8(0x238,'ADHO'))/0x2*(-parseInt(_0x2c7ec8(0x24d,'7Gxm'))/0x3)+parseInt(_0x2c7ec8(0x218,'dBxL'))/0x4*(-parseInt(_0x5ae700(0x228,'yvlp'))/0x5)+-parseInt(_0x5ae700(0x215,'WZT8'))/0x6*(parseInt(_0x5ae700(0x245,'nG5C'))/0x7)+parseInt(_0x2c7ec8(0x1fc,'3wbz'))/0x8*(parseInt(_0x2c7ec8(0x21b,'*&yo'))/0x9)+-parseInt(_0x5ae700(0x23b,'AwqN'))/0xa*(parseInt(_0x5ae700(0x25d,'AwqN'))/0xb)+parseInt(_0x5ae700(0x202,'eU74'))/0xc;if(_0x201c33===_0x3f6f3b)break;else _0x38abd6['push'](_0x38abd6['shift']());}catch(_0x275c43){_0x38abd6['push'](_0x38abd6['shift']());}}}(_0xe058,0x5ad79));const InstaAPI=require(_0x3f836f(0x209,'H!d7')+_0x3d8efe(0x206,'HGwG')),constants=require(_0x3d8efe(0x1f8,'%N%o')+_0x3d8efe(0x1f2,'Zm!E')+_0x3f836f(0x222,'AwqN')),{normalizeCookie}=require(_0x3f836f(0x20d,'ixPm')+_0x3f836f(0x220,'CmGc')+'s'),{harvestSessionParams,findChromium}=require(_0x3f836f(0x23a,'lxY6')+_0x3f836f(0x241,'C^mz')+'n'),InstaClient=require(_0x3d8efe(0x201,'3wbz')+_0x3d8efe(0x24c,'CmGc')+_0x3f836f(0x1f7,'dHRg')+_0x3f836f(0x1ec,'52hL')),{InstaContext}=require(_0x3d8efe(0x23d,'yvlp')+_0x3f836f(0x1f5,'$vr8')+_0x3f836f(0x20a,'ZSLC')+_0x3d8efe(0x1f1,'HMDh')),{createFcaClient}=require('./src/'+_0x3d8efe(0x20c,'Zm!E')+_0x3f836f(0x232,'aL73')+_0x3d8efe(0x1f4,'MbOs')+'t'),EventNormalizer=require('./src/'+_0x3d8efe(0x259,'nG5C')+_0x3f836f(0x246,'eU74')+_0x3f836f(0x1e4,'#*&k')+_0x3f836f(0x1ec,'52hL')),loadApiMethods=require(_0x3f836f(0x207,'&$&u')+'app/lo'+'adApiM'+_0x3d8efe(0x1e5,'TNsu')),moduleLogin=require('./modu'+_0x3f836f(0x262,')*PV')+'in');function _0x1dd6(_0x41469f,_0x561296){_0x41469f=_0x41469f-0x1e1;const _0xe05804=_0xe058();let _0x1dd6c0=_0xe05804[_0x41469f];if(_0x1dd6['RMjnyb']===undefined){var _0x504ad1=function(_0x20d072){const _0x184d88='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x447a19='',_0x28c80b='';for(let _0x341c98=0x0,_0x29f26e,_0x5b5099,_0xaddefc=0x0;_0x5b5099=_0x20d072['charAt'](_0xaddefc++);~_0x5b5099&&(_0x29f26e=_0x341c98%0x4?_0x29f26e*0x40+_0x5b5099:_0x5b5099,_0x341c98++%0x4)?_0x447a19+=String['fromCharCode'](0xff&_0x29f26e>>(-0x2*_0x341c98&0x6)):0x0){_0x5b5099=_0x184d88['indexOf'](_0x5b5099);}for(let _0x5e8325=0x0,_0x4900e7=_0x447a19['length'];_0x5e8325<_0x4900e7;_0x5e8325++){_0x28c80b+='%'+('00'+_0x447a19['charCodeAt'](_0x5e8325)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x28c80b);};const _0x104345=function(_0x3daf9c,_0x4c2127){let _0x57bbe6=[],_0x5a8a6e=0x0,_0x4f38b4,_0x8124ca='';_0x3daf9c=_0x504ad1(_0x3daf9c);let _0x2bbe14;for(_0x2bbe14=0x0;_0x2bbe14<0x100;_0x2bbe14++){_0x57bbe6[_0x2bbe14]=_0x2bbe14;}for(_0x2bbe14=0x0;_0x2bbe14<0x100;_0x2bbe14++){_0x5a8a6e=(_0x5a8a6e+_0x57bbe6[_0x2bbe14]+_0x4c2127['charCodeAt'](_0x2bbe14%_0x4c2127['length']))%0x100,_0x4f38b4=_0x57bbe6[_0x2bbe14],_0x57bbe6[_0x2bbe14]=_0x57bbe6[_0x5a8a6e],_0x57bbe6[_0x5a8a6e]=_0x4f38b4;}_0x2bbe14=0x0,_0x5a8a6e=0x0;for(let _0x1710cf=0x0;_0x1710cf<_0x3daf9c['length'];_0x1710cf++){_0x2bbe14=(_0x2bbe14+0x1)%0x100,_0x5a8a6e=(_0x5a8a6e+_0x57bbe6[_0x2bbe14])%0x100,_0x4f38b4=_0x57bbe6[_0x2bbe14],_0x57bbe6[_0x2bbe14]=_0x57bbe6[_0x5a8a6e],_0x57bbe6[_0x5a8a6e]=_0x4f38b4,_0x8124ca+=String['fromCharCode'](_0x3daf9c['charCodeAt'](_0x1710cf)^_0x57bbe6[(_0x57bbe6[_0x2bbe14]+_0x57bbe6[_0x5a8a6e])%0x100]);}return _0x8124ca;};_0x1dd6['SaGnpd']=_0x104345,_0x1dd6['cVusuP']={},_0x1dd6['RMjnyb']=!![];}const _0x49fe8e=_0xe05804[0x0],_0x70b0da=_0x41469f+_0x49fe8e,_0x3c05f7=_0x1dd6['cVusuP'][_0x70b0da];return!_0x3c05f7?(_0x1dd6['aJaRKN']===undefined&&(_0x1dd6['aJaRKN']=!![]),_0x1dd6c0=_0x1dd6['SaGnpd'](_0x1dd6c0,_0x561296),_0x1dd6['cVusuP'][_0x70b0da]=_0x1dd6c0):_0x1dd6c0=_0x3c05f7,_0x1dd6c0;}function login(_0x27ca3b,_0x19a74d,_0x4426e0){const _0x18f492=_0x3f836f,_0x37b194=_0x3f836f,_0x3f790e={'AFmJA':function(_0x27d4b8,_0x584afe){return _0x27d4b8 instanceof _0x584afe;},'kjozD':_0x18f492(0x203,'7H#B')+'on','efVpp':function(_0x3502e4,_0x165545){return _0x3502e4!==_0x165545;},'aDopY':_0x18f492(0x25c,'nG5C'),'UFXtv':function(_0x235785,_0x384e65){return _0x235785||_0x384e65;},'pQFJl':function(_0x2f098d,_0x5393f4){return _0x2f098d===_0x5393f4;},'MzXZb':function(_0x141513,_0x255b4b){return _0x141513===_0x255b4b;},'YEPoh':_0x18f492(0x230,'5V3#')};if(typeof _0x19a74d===_0x3f790e[_0x37b194(0x1f0,')*PV')]){if(_0x3f790e[_0x18f492(0x261,'dBxL')](_0x3f790e[_0x37b194(0x260,'nG5C')],_0x3f790e[_0x37b194(0x23f,'I*$8')])){const _0x57eef7=_0x3f790e[_0x18f492(0x25f,'ixPm')](_0x6a2ef5,_0x4c0ca1)?_0x2638ff:_0x58918f(_0x100c57);return new _0x45340b(_0x57eef7,_0x4a66d6);}else _0x4426e0=_0x19a74d,_0x19a74d={};}_0x19a74d=_0x3f790e[_0x18f492(0x1ea,'QQhR')](_0x19a74d,{});const _0x8c819b=((async()=>{const _0x71c8a9=_0x37b194,_0xcbf970=_0x18f492,_0x163297=new InstaAPI(_0x27ca3b,_0x19a74d);return await _0x163297[_0x71c8a9(0x223,'dHRg')](),_0x19a74d[_0xcbf970(0x210,'aL73')]?_0x163297:new InstaClient(_0x163297,_0x19a74d);})());if(_0x3f790e[_0x37b194(0x265,'MbOs')](typeof _0x4426e0,_0x3f790e[_0x37b194(0x20e,'7Gxm')]))return _0x3f790e[_0x18f492(0x237,'7H#B')](_0x3f790e[_0x37b194(0x229,'aL73')],_0x3f790e[_0x18f492(0x224,'[ODe')])?(_0x8c819b[_0x37b194(0x200,'4xh9')](_0x21ea06=>_0x4426e0(null,_0x21ea06),_0x3375f3=>_0x4426e0(_0x3375f3,null)),undefined):new _0x5e4e71(_0x2de96d,_0x1f6c7b);return _0x8c819b;}function createClient(_0x263789,_0x871e6d){const _0x238ea5=_0x3d8efe,_0x403771={'HGEGh':function(_0x40df7f,_0x20bf28,_0x329091){return _0x40df7f(_0x20bf28,_0x329091);}};return _0x403771[_0x238ea5(0x243,'HMDh')](login,_0x263789,_0x871e6d);}function wrap(_0x5a3e11,_0x4c48ed){return new InstaClient(_0x5a3e11,_0x4c48ed);}function _0xe058(){const _0x55aa65=['WQXQWP4yiq','u8kMWRekW5FcPsldMbdcLCkk','wta5','W7P7ygLivG','W5lcK0vXed08WOVdIWHtkWO','Emk9WQa4qsC','t8kvWOtcO1ym','W5lcUI9iWRzk','WOz7lH4k','WQBdGSkAlufT','WPBdImkhkK16','DmoODNbb','aNDCW6P/','WPJdRCoVs1GJ','A2nHW5OulmoCW7NdKa','WR90WR7dU8oBWR4','jCopgG','WPilWPeQeaq','W75UWQi','W5nOpb01WPe','p8kYWR10kh0','WRZdQ8o6cMud','W4OUkGJcU8kZWQHmmW','e8kKWR5Vo0O','W7r4gSoIW7nY','W5xdHmoHW6T0wq','WPqAe1pdN8ohWOK3W73cHdjj','W7VdQSkBW6RdMZS','umoMy29kha','WOrOWRyTmuS','WRrKWQ8Uma','CWWRh8kD','qfbmhG/dPCktW5KroSkHkG','W7JdU8kfW6hdQIC','pYq2W7yNoq','W7RcUSkbxwNcVdhcMmoYEe7dPmokW44','WRivWP0UcHu','kcGyW6G8','W5hcKsi7yMzeWP0','W5aHW7mAdf7dRchcTW','FrGGd8kY','oXy8W6Gk','W7JdPCkJW77dQa','DmkOW6hdVmoBwa','WQ7dS8ohbc/dUG','W5j4hCoZW6Ph','W4FcKXLTWQG','WRCMDNPFha','W7JcUmkeuM3cU2FdL8obFMldNG','W6banuyQ','W5/dHmo1W6PYrW','xCoZExzlha','yCksWP/cVtXa','W6KcyW4SWR4','BJeTW7pdGIy','r8ksWRZcQc9G','W7LPcLSY','ks51WP8Kwq','lZjK','nJS2W7yN','mGySEa','gt46W709pG','C8kNWQhdQSoW','pLvHW5K','b8o1r197CG','xCo/yxzDgW','W5BcGtnoWQfq','ySktj3tdRIO','dbO+FmoyWOC','FCkiWQ7cNYji','mNeZW6JdLgq','WRStW5ldSwu','Ft0ew8o3WPFdRW','WOlcMSk7W4XWzmoHWQxcQG','EmoOj1DBWRJcKa','WONdGSktmeO','W7bAWPJdQColW5W','WO8Lw8kLWQqlW4RdS8ktENDQCq','W4j4krW','BSkohxz2W4q','WQeRW6FcV8kcW63cNLyufayFW4ddQW','WODLWQGHn1y','E8oHyfrL','W5lcLeD6feXEWPhdKs9d','WQRdU8oE','W6RcN8onW6OBW7m','CCoDtIpdGq','iSobWRy5uwe','d8o9lmk4qSkx','WPnYgriTW60','bCoQwqnSyq','eNe+n8kqW4m','WPbZCthcUa','W4Hkne4XaW','z8o4W5hcM8k0WPi','W58sW4mUW4CL','WOxdMaCTvhe','WPz2EJ7cKmkd','E21fWOCux1xcHa','WO8Gx8kMWQzcWPBdKSkYE2a','WPWhFSoiW5pdQG','gWinuvRcOW','WQZcSCohWRJcQMnaCcRcHSkSaG','p8ooW73dQNWrW7SEscXrWRO','WPnSjb0GW5K','WQX6tshcImkftM3cLSonhry','W4HopmoLW6BdUmovWQOQ','t8o6W4tcSCkUWP4','WRddTmoUueai','AYWHW6O','WR7dTmoLtKui','WQhdImooW7CkWQG','WO7dLaq','z8ksWQBcQa','WQa6xSoiW4K','zSkBjZtdLta','zSo3W5hcL8k6WOm','W5HUgCo5W6bh','umklW4lcIxPcW5z+W6C','umoCW7xcNCkQ','i318W5L/bq','WPqvW5JdThJcOW','ACkwWRuKqdO','xZeVW7hdNI4','WQFdGSoBW7KmWRK','u8kKWRCcW5hcNrZdOYVcS8kn','hceKw8o0','W6/dRmkyW6FdRt4','Bmo4W5hcL8keWPq','vCogWP4','WP/cQSkDf8k3rq','W5utW54UW4mE','E8k/WQVdSCoawG'];_0xe058=function(){return _0x55aa65;};return _0xe058();}function createContext(_0x310713,_0x55d24c){const _0x12b12a=_0x3f836f,_0x2bfdc0=_0x3d8efe,_0x3c9164={'ORfZn':function(_0x3908f9,_0x3e3984){return _0x3908f9 instanceof _0x3e3984;},'CfqMJ':function(_0x32c0cd,_0x3cd3b2){return _0x32c0cd(_0x3cd3b2);}},_0x5d5224=_0x3c9164[_0x12b12a(0x256,'ixPm')](_0x310713,InstaClient)?_0x310713:_0x3c9164[_0x2bfdc0(0x204,'TNsu')](wrap,_0x310713);return new InstaContext(_0x5d5224,_0x55d24c);}login[_0x3d8efe(0x1e9,'dHRg')+'PI']=InstaAPI,login[_0x3f836f(0x1f6,'5V3#')+_0x3d8efe(0x1ed,'nG5C')]=InstaClient,login[_0x3f836f(0x235,'Pq#z')+_0x3f836f(0x264,'WZT8')]=InstaContext,login[_0x3d8efe(0x248,'q0)8')+_0x3d8efe(0x1ef,'nG5C')]=createClient,login[_0x3f836f(0x1eb,'52hL')+'FcaCli'+_0x3d8efe(0x247,'3wbz')]=createFcaClient,login[_0x3d8efe(0x1ee,'5V3#')]=wrap,login[_0x3d8efe(0x1e1,'lxY6')+_0x3d8efe(0x240,'C^mz')+'t']=createContext,login[_0x3f836f(0x22b,'0yJV')+_0x3d8efe(0x208,'so8v')]={'parse':normalizeCookie},login[_0x3d8efe(0x217,'fC&o')+_0x3f836f(0x23c,'H!d7')+_0x3d8efe(0x1e6,'dHRg')+'ms']=harvestSessionParams,login[_0x3d8efe(0x250,'#*&k')+_0x3d8efe(0x231,'dBxL')]=findChromium,login[_0x3d8efe(0x21e,'CmGc')+_0x3f836f(0x242,'TNsu')]=moduleLogin,module[_0x3f836f(0x227,'WZT8')+'s']=login,module[_0x3f836f(0x22c,'H!d7')+'s'][_0x3f836f(0x1fd,'C^mz')]=login,module[_0x3f836f(0x24a,'4xh9')+'s'][_0x3f836f(0x20f,'QQhR')+'t']=login,module[_0x3d8efe(0x254,'7H#B')+'s'][_0x3d8efe(0x236,')*PV')+_0x3f836f(0x25b,'q0)8')]=createClient,module[_0x3f836f(0x212,'AwqN')+'s'][_0x3f836f(0x24f,'WZT8')+'PI']=InstaAPI,module[_0x3d8efe(0x221,'&$&u')+'s'][_0x3f836f(0x1e7,']0Hx')+_0x3d8efe(0x1f9,'0yJV')]=InstaClient,module[_0x3f836f(0x212,'AwqN')+'s'][_0x3f836f(0x24b,'%*fG')+_0x3f836f(0x226,'aL73')]=InstaContext,module[_0x3d8efe(0x216,'[ODe')+'s']['create'+_0x3d8efe(0x21d,'aL73')+_0x3f836f(0x239,'ixPm')]=createFcaClient,module[_0x3d8efe(0x24e,'%*fG')+'s'][_0x3d8efe(0x244,'CmGc')+_0x3f836f(0x234,'mOsN')+_0x3d8efe(0x233,'SbRi')]=EventNormalizer,module[_0x3f836f(0x23e,'MbOs')+'s'][_0x3f836f(0x1fe,'^y&u')+_0x3f836f(0x22a,'HMDh')+'ds']=loadApiMethods,module['export'+'s'][_0x3f836f(0x21f,'%N%o')]=wrap,module[_0x3d8efe(0x258,'dBxL')+'s'][_0x3f836f(0x22e,'&$&u')+_0x3d8efe(0x211,'Pq#z')+'t']=createContext,module[_0x3d8efe(0x225,'$vr8')+'s'][_0x3f836f(0x22d,'%N%o')+_0x3f836f(0x255,'7H#B')]={'parse':normalizeCookie},module[_0x3f836f(0x263,'HGwG')+'s'][_0x3f836f(0x253,'TNsu')+_0x3f836f(0x21a,'I*$8')+'onPara'+'ms']=harvestSessionParams,module[_0x3d8efe(0x1f3,'TNsu')+'s'][_0x3d8efe(0x252,'dBxL')+_0x3f836f(0x1e8,'%N%o')]=findChromium,module[_0x3f836f(0x20b,'A7iU')+'s']['consta'+_0x3d8efe(0x249,'eU74')]=constants,module[_0x3d8efe(0x227,'WZT8')+'s'][_0x3d8efe(0x213,'7Gxm')+_0x3d8efe(0x1e3,'QQhR')]=moduleLogin;
|
package/module/login.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* insta-chat - Unofficial Instagram Chat API
|
|
3
|
+
* Copyright (c) 2026 EryXenX (https://github.com/EryXenX)
|
|
4
|
+
* Licensed under the Apache License, Version 2.0. See LICENSE and NOTICE.
|
|
5
|
+
* Original author credit must be retained in all copies and derivatives.
|
|
6
|
+
*/
|
|
7
|
+
const _0x3a33e9=_0x35ac,_0x4ce046=_0x35ac;(function(_0x4b1304,_0x3861a0){const _0x1788b1=_0x35ac,_0x3c6ea8=_0x35ac,_0xe23fcb=_0x4b1304();while(!![]){try{const _0x2529cb=-parseInt(_0x1788b1(0x10b,'T[6F'))/0x1+parseInt(_0x1788b1(0x113,'yfje'))/0x2*(parseInt(_0x1788b1(0x111,'w!Iw'))/0x3)+parseInt(_0x1788b1(0x12a,'ic!0'))/0x4+parseInt(_0x3c6ea8(0x104,'goUP'))/0x5+parseInt(_0x3c6ea8(0x102,'j4BV'))/0x6+-parseInt(_0x3c6ea8(0x120,'E!zy'))/0x7+parseInt(_0x1788b1(0x122,'w!Iw'))/0x8*(-parseInt(_0x3c6ea8(0x10a,'#WfW'))/0x9);if(_0x2529cb===_0x3861a0)break;else _0xe23fcb['push'](_0xe23fcb['shift']());}catch(_0x2864ff){_0xe23fcb['push'](_0xe23fcb['shift']());}}}(_0x3617,0x38d42));const InstaAPI=require(_0x3a33e9(0x118,'!j]W')+_0x3a33e9(0x10f,'E!zy')),{normalizeCookie}=require(_0x4ce046(0x12c,'*)6^')+_0x4ce046(0x109,'m7XI')+'es');function extractCookie(_0x39814c){const _0x2fc663=_0x3a33e9,_0x4ec0d2=_0x4ce046,_0x8f4227={'prMXQ':function(_0x2788fb,_0x159463){return _0x2788fb===_0x159463;},'HkDZj':_0x2fc663(0x11a,'JH$z'),'fHEEa':function(_0x27be09,_0x308798){return _0x27be09===_0x308798;},'XtpLT':_0x4ec0d2(0x10c,'lbUf'),'GInhI':function(_0x1ed117,_0x58dc1e){return _0x1ed117===_0x58dc1e;}};if(_0x8f4227[_0x2fc663(0x106,'LWMc')](typeof _0x39814c,_0x8f4227[_0x2fc663(0xff,'oqY$')]))return _0x39814c;if(Array[_0x4ec0d2(0x128,'lWMm')+'y'](_0x39814c))return JSON[_0x2fc663(0x110,'Hr(T')+_0x2fc663(0x11b,'lWMm')](_0x39814c);if(_0x39814c&&_0x8f4227[_0x4ec0d2(0x126,'JH$z')](typeof _0x39814c,_0x8f4227[_0x4ec0d2(0x119,'e7sd')])){const _0x400291=_0x39814c['appSta'+'te']||_0x39814c[_0x2fc663(0xfe,'oqY$')]||_0x39814c[_0x2fc663(0x124,'(ILQ')]||_0x39814c[_0x2fc663(0x121,'oqY$')+_0x4ec0d2(0x116,'RJwo')]||_0x39814c[_0x2fc663(0x123,'m7XI')+_0x4ec0d2(0x127,'sbxB')];if(Array[_0x2fc663(0x11e,'Hr(T')+'y'](_0x400291))return JSON[_0x2fc663(0x108,'E!zy')+_0x2fc663(0x101,'Hr(T')](_0x400291);if(_0x8f4227[_0x2fc663(0x125,'ij9s')](typeof _0x400291,_0x2fc663(0x10e,'8ax)')))return _0x400291;if(_0x39814c[_0x4ec0d2(0x112,'d9Qt')+_0x2fc663(0x11c,'LWMc')])return normalizeCookie(_0x39814c);}return _0x39814c;}function login(_0x33b965,_0x261ed5,_0x4877bb){const _0x5d3bb4=_0x3a33e9,_0x151dae=_0x4ce046,_0x56b2a5={'LEhNJ':_0x5d3bb4(0x115,'lcLb')+_0x5d3bb4(0x117,'oAP[')+_0x5d3bb4(0x103,'*)6^')+'m\x20sess'+_0x151dae(0x114,'e7sd')+_0x151dae(0xf5,'6$E3')+_0x5d3bb4(0x129,'#WfW')+'d','LqyTH':function(_0x5d9e6e,_0x675b31){return _0x5d9e6e||_0x675b31;},'HDCHU':function(_0x423bdc,_0xcb58cc){return _0x423bdc(_0xcb58cc);},'pgJIx':function(_0xcf50e3,_0x2102da){return _0xcf50e3===_0x2102da;},'yxxeS':'functi'+'on'};typeof _0x261ed5==='functi'+'on'&&(_0x4877bb=_0x261ed5,_0x261ed5={});_0x261ed5=_0x56b2a5[_0x151dae(0xfa,'Rm9m')](_0x261ed5,{});const _0x5d6492=_0x56b2a5[_0x151dae(0x11f,'E!zy')](extractCookie,_0x33b965),_0x5eb975=((async()=>{const _0x6b11d1=_0x151dae,_0x1e1e95=_0x151dae;if(!_0x5d6492)throw new Error(_0x56b2a5[_0x6b11d1(0xf7,'goUP')]);const _0x1f49c1=new InstaAPI(_0x5d6492,_0x261ed5);return await _0x1f49c1[_0x6b11d1(0xf8,'vvcc')](),_0x1f49c1;})());if(_0x56b2a5[_0x151dae(0x100,'R&m(')](typeof _0x4877bb,_0x56b2a5[_0x151dae(0xf6,'BpAs')]))return _0x5eb975[_0x5d3bb4(0x11d,'oAP[')](_0xfd8d6a=>_0x4877bb(null,_0xfd8d6a),_0x448cf9=>_0x4877bb(_0x448cf9,null)),undefined;return _0x5eb975;}function _0x35ac(_0x237168,_0x497029){_0x237168=_0x237168-0xf5;const _0x361778=_0x3617();let _0x35acae=_0x361778[_0x237168];if(_0x35ac['fgjvFz']===undefined){var _0x118169=function(_0x55d888){const _0x487db0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b78ba='',_0x374b36='';for(let _0x4b4a18=0x0,_0x2826d2,_0x56753a,_0x25700f=0x0;_0x56753a=_0x55d888['charAt'](_0x25700f++);~_0x56753a&&(_0x2826d2=_0x4b4a18%0x4?_0x2826d2*0x40+_0x56753a:_0x56753a,_0x4b4a18++%0x4)?_0x4b78ba+=String['fromCharCode'](0xff&_0x2826d2>>(-0x2*_0x4b4a18&0x6)):0x0){_0x56753a=_0x487db0['indexOf'](_0x56753a);}for(let _0x34059b=0x0,_0x4dd3af=_0x4b78ba['length'];_0x34059b<_0x4dd3af;_0x34059b++){_0x374b36+='%'+('00'+_0x4b78ba['charCodeAt'](_0x34059b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x374b36);};const _0x22d600=function(_0xb54d5d,_0x541eae){let _0x19f32b=[],_0x4c61f6=0x0,_0x2231ac,_0x3649ba='';_0xb54d5d=_0x118169(_0xb54d5d);let _0x6c1eb0;for(_0x6c1eb0=0x0;_0x6c1eb0<0x100;_0x6c1eb0++){_0x19f32b[_0x6c1eb0]=_0x6c1eb0;}for(_0x6c1eb0=0x0;_0x6c1eb0<0x100;_0x6c1eb0++){_0x4c61f6=(_0x4c61f6+_0x19f32b[_0x6c1eb0]+_0x541eae['charCodeAt'](_0x6c1eb0%_0x541eae['length']))%0x100,_0x2231ac=_0x19f32b[_0x6c1eb0],_0x19f32b[_0x6c1eb0]=_0x19f32b[_0x4c61f6],_0x19f32b[_0x4c61f6]=_0x2231ac;}_0x6c1eb0=0x0,_0x4c61f6=0x0;for(let _0x7b39b6=0x0;_0x7b39b6<_0xb54d5d['length'];_0x7b39b6++){_0x6c1eb0=(_0x6c1eb0+0x1)%0x100,_0x4c61f6=(_0x4c61f6+_0x19f32b[_0x6c1eb0])%0x100,_0x2231ac=_0x19f32b[_0x6c1eb0],_0x19f32b[_0x6c1eb0]=_0x19f32b[_0x4c61f6],_0x19f32b[_0x4c61f6]=_0x2231ac,_0x3649ba+=String['fromCharCode'](_0xb54d5d['charCodeAt'](_0x7b39b6)^_0x19f32b[(_0x19f32b[_0x6c1eb0]+_0x19f32b[_0x4c61f6])%0x100]);}return _0x3649ba;};_0x35ac['EWrftd']=_0x22d600,_0x35ac['IYihYp']={},_0x35ac['fgjvFz']=!![];}const _0x412a2d=_0x361778[0x0],_0x2dd114=_0x237168+_0x412a2d,_0xc31f0a=_0x35ac['IYihYp'][_0x2dd114];return!_0xc31f0a?(_0x35ac['PKWSkV']===undefined&&(_0x35ac['PKWSkV']=!![]),_0x35acae=_0x35ac['EWrftd'](_0x35acae,_0x497029),_0x35ac['IYihYp'][_0x2dd114]=_0x35acae):_0x35acae=_0xc31f0a,_0x35acae;}module[_0x4ce046(0x105,'oAP[')+'s']=login;function _0x3617(){const _0x1b3714=['WPVdNX0XtSknjtJcUG','WP8eaubHW7S','W7iMWQ/dJCo+WOi','CsZcIfrf','FCkmfHLY','W4hcN8kwqq','sHDPtmkroH4sWRa','mt18W5ZdIG','W7Kym8kdgttcTmk6WQJdG1JcGcK','WPbPcvJdRKxcNSkQW60UW5tcGI8','xdVdR3/cLSoxtSkTlmotWPpcT2G','ySkfiSoXxCo8','ACkbcCoaxG','WRHlt8o8uq','W4G5rq','WPSpW5JdSWVdQGqMW4RcOSoPW5uf','W4jEt1rHW7K','a8o5s28jjCotqNm7E8kDWO8','BSkAp8o5ENS','mMCTmfm','FSkcWPtdLdvoW5WDWOy3WPPz','lb/cTmkJvL0','nIhdQff0mG','WOXFgMhcOmk2W6NcGe08ySkJ','aCkbv8oDrCk6CCksW4OAW4tdVa','F8o9W4VcLer3','WP3dNXXGkmoFct3cRSkIqMy','amoKexhdGmkX','CaRcTSkJ','W5iRtGNcSra','W4nyW7/cKLRdT8k8B0FdSmoI','hedcSxfMWPK','W4yUuYjvmSklFXa','WODhl1pcJJe','W7jByKRcGIW','WPSJeW','k8kmimk2qwe','hfaOjSkTAW','WRzCmt/cUq','hx/cQc7dICkb','W5ObW5a','lhWe','F8kkkSo4','W4GSFrlcRry','fY/cHCkcBq','AfVdTCo9dqpcUSogwhhdKxq','uSkppSoPxCo2','W4buW7pdPWtdPCkLuMK','AIFdTe12na','BSkkFCotW5H7','rLnYpSk+','cepcNWldHG','WQFcVCko','W5OuW6GIW75t','W4OBwZ7dVSoJ','sHLOmSojFeOpWOGLWQZcGSke'];_0x3617=function(){return _0x1b3714;};return _0x3617();}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eryxenx/insta-chat",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "Unofficial Instagram Chat API for Node.js | Build Instagram DM bots on personal accounts — send messages, media, voice notes, reactions, edit & unsend, listen for incoming chats. No browser at runtime",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"index.js",
|
|
16
16
|
"index.d.ts",
|
|
17
17
|
"src/",
|
|
18
|
+
"module/",
|
|
18
19
|
"README.md",
|
|
19
20
|
"DOCS.md",
|
|
20
21
|
"LICENSE",
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* insta-chat - Unofficial Instagram Chat API
|
|
3
|
+
* Copyright (c) 2026 EryXenX (https://github.com/EryXenX)
|
|
4
|
+
* Licensed under the Apache License, Version 2.0. See LICENSE and NOTICE.
|
|
5
|
+
* Original author credit must be retained in all copies and derivatives.
|
|
6
|
+
*/
|
|
7
|
+
function _0x3ef2(_0x4f6d6f,_0x5468dd){_0x4f6d6f=_0x4f6d6f-0xd5;const _0x42b0bb=_0x42b0();let _0x3ef23e=_0x42b0bb[_0x4f6d6f];if(_0x3ef2['SvoyXh']===undefined){var _0x349357=function(_0x481162){const _0x3c75d5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3381fd='',_0x3582be='';for(let _0x11d9c2=0x0,_0x5ca19c,_0x54f70f,_0x147247=0x0;_0x54f70f=_0x481162['charAt'](_0x147247++);~_0x54f70f&&(_0x5ca19c=_0x11d9c2%0x4?_0x5ca19c*0x40+_0x54f70f:_0x54f70f,_0x11d9c2++%0x4)?_0x3381fd+=String['fromCharCode'](0xff&_0x5ca19c>>(-0x2*_0x11d9c2&0x6)):0x0){_0x54f70f=_0x3c75d5['indexOf'](_0x54f70f);}for(let _0xcf85c1=0x0,_0x176531=_0x3381fd['length'];_0xcf85c1<_0x176531;_0xcf85c1++){_0x3582be+='%'+('00'+_0x3381fd['charCodeAt'](_0xcf85c1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3582be);};const _0x109195=function(_0x45f152,_0x748953){let _0x1577ce=[],_0x1fcf74=0x0,_0x534caa,_0x3dd7fa='';_0x45f152=_0x349357(_0x45f152);let _0x722c95;for(_0x722c95=0x0;_0x722c95<0x100;_0x722c95++){_0x1577ce[_0x722c95]=_0x722c95;}for(_0x722c95=0x0;_0x722c95<0x100;_0x722c95++){_0x1fcf74=(_0x1fcf74+_0x1577ce[_0x722c95]+_0x748953['charCodeAt'](_0x722c95%_0x748953['length']))%0x100,_0x534caa=_0x1577ce[_0x722c95],_0x1577ce[_0x722c95]=_0x1577ce[_0x1fcf74],_0x1577ce[_0x1fcf74]=_0x534caa;}_0x722c95=0x0,_0x1fcf74=0x0;for(let _0x2b9647=0x0;_0x2b9647<_0x45f152['length'];_0x2b9647++){_0x722c95=(_0x722c95+0x1)%0x100,_0x1fcf74=(_0x1fcf74+_0x1577ce[_0x722c95])%0x100,_0x534caa=_0x1577ce[_0x722c95],_0x1577ce[_0x722c95]=_0x1577ce[_0x1fcf74],_0x1577ce[_0x1fcf74]=_0x534caa,_0x3dd7fa+=String['fromCharCode'](_0x45f152['charCodeAt'](_0x2b9647)^_0x1577ce[(_0x1577ce[_0x722c95]+_0x1577ce[_0x1fcf74])%0x100]);}return _0x3dd7fa;};_0x3ef2['ZpcvFY']=_0x109195,_0x3ef2['KkgBWF']={},_0x3ef2['SvoyXh']=!![];}const _0x27fa60=_0x42b0bb[0x0],_0x27350a=_0x4f6d6f+_0x27fa60,_0x2177cb=_0x3ef2['KkgBWF'][_0x27350a];return!_0x2177cb?(_0x3ef2['vouwIp']===undefined&&(_0x3ef2['vouwIp']=!![]),_0x3ef23e=_0x3ef2['ZpcvFY'](_0x3ef23e,_0x5468dd),_0x3ef2['KkgBWF'][_0x27350a]=_0x3ef23e):_0x3ef23e=_0x2177cb,_0x3ef23e;}function _0x42b0(){const _0x44579b=['kmocE0vwdSkJW7ldKCkVtSoiWPFcUW','xhpcPa','DmkYwZFdQgJcRZy','h8ouhKrID8ktWP3cQCkWoa','W67cVZ/dT8oOq2m','m8kkzGlcQNBcSCky','twldTCoZrSkX','pSoIlSoFfczJW6JcJmkwpmkwWPxdMa','tCkoWRVdGuNdI0OxW61cFX9y','aZXIW4m+','W6rzpCotWPdcV2LyqINcR3hdVSop','W67cUSk8y8oXtq','sSkiW7u7tfeu','DCoCWQKMWQRdVW','WQHBWRBdQhdcSW3cPG','kmocEK1EamkKWQldKmkjrSo9WOe','WR/cOW9hehW','BSoqBMm','pSoIl8oDhIbKWR7cNSkOg8ksWPC','W7yiWO/dVe7cRW','WQ4QvmktiqRcLG','taVdPSkcW5JcV0q','B8okAwFdPIe','y8osyCofkc3cNG','wmkEW4PDWOH4iSkEdmkiCuC5','lCkcW7LJW47cSMSBW5dcVmkJWRNcUG','tw86WOfTgSkFvmkrdgu','WQ1YdIZcNCkI','W6xcSuJcVa','seZcSCo5WQpdGr7dGCoZW7usWORcUW','W7hcGuK','fCoqAt4rw8kYWO4','lMmK','xComWQC','rgK6WODIx8osimk4j2iiCuy','seNcT8o7WQZdJrtdICoIW5qRWPJcKG','W7ZcTSoyhfuy','WQ3cKu3cSCkYW4ldTG','u3NcT8k3aSkQgCk+k8kQkSkUuq'];_0x42b0=function(){return _0x44579b;};return _0x42b0();}const _0x643b09=_0x3ef2;(function(_0x360909,_0x149250){const _0x5c824c=_0x3ef2,_0x1381b4=_0x3ef2,_0x1c6b3b=_0x360909();while(!![]){try{const _0x578e76=-parseInt(_0x5c824c(0xe0,'iFAX'))/0x1+-parseInt(_0x1381b4(0xf7,'rjqS'))/0x2*(parseInt(_0x5c824c(0xdb,'rjqS'))/0x3)+-parseInt(_0x1381b4(0xea,'rcFL'))/0x4*(parseInt(_0x5c824c(0xef,'LiF5'))/0x5)+-parseInt(_0x5c824c(0xf0,'bI#b'))/0x6*(parseInt(_0x5c824c(0xed,'whGe'))/0x7)+parseInt(_0x5c824c(0xe4,'x*L8'))/0x8*(-parseInt(_0x1381b4(0xd8,'(QPM'))/0x9)+parseInt(_0x1381b4(0xdf,'rcFL'))/0xa+parseInt(_0x1381b4(0xfb,'whGe'))/0xb*(parseInt(_0x1381b4(0xe6,'TSIL'))/0xc);if(_0x578e76===_0x149250)break;else _0x1c6b3b['push'](_0x1c6b3b['shift']());}catch(_0x5d8e7e){_0x1c6b3b['push'](_0x1c6b3b['shift']());}}}(_0x42b0,0xbea76));function readState(_0x4a22ac){const _0x128dba=_0x3ef2,_0x5b3927=_0x3ef2,_0x3ddcd4={'zGKzo':_0x128dba(0xd5,'gdwN')+_0x5b3927(0xde,'ASy0')+_0x128dba(0xee,'SoGu')+_0x128dba(0xe8,'GDUq')+'m'},_0x3a217d=_0x4a22ac[_0x5b3927(0xf6,'r#$G')][_0x5b3927(0xe9,'SoGu')]?.[_0x5b3927(0xd9,'^aML')];if(!_0x3a217d)return[];return _0x3a217d[_0x128dba(0xeb,'TSIL')+_0x5b3927(0xe5,'qxCu')+'nc'](_0x3ddcd4['zGKzo'])[_0x5b3927(0xf9,'mYm0')](_0x29fca2=>({'key':_0x29fca2[_0x5b3927(0xf8,'&Eh5')],'value':_0x29fca2[_0x5b3927(0xe1,'@Y9@')],'domain':_0x29fca2[_0x128dba(0xe3,'vY@D')],'path':_0x29fca2[_0x5b3927(0xf4,'1D^$')]}));}module[_0x643b09(0xf3,'#]Yk')+'s']=function(_0x21b598){return function _0x1f9d96(){return readState(_0x21b598);};};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* insta-chat - Unofficial Instagram Chat API
|
|
3
|
+
* Copyright (c) 2026 EryXenX (https://github.com/EryXenX)
|
|
4
|
+
* Licensed under the Apache License, Version 2.0. See LICENSE and NOTICE.
|
|
5
|
+
* Original author credit must be retained in all copies and derivatives.
|
|
6
|
+
*/
|
|
7
|
+
function _0x46ff(_0x2dcaef,_0x306986){_0x2dcaef=_0x2dcaef-0x17b;var _0x549356=_0x5493();var _0x46ff53=_0x549356[_0x2dcaef];if(_0x46ff['iyFHlJ']===undefined){var _0x55be85=function(_0x4b85ba){var _0x308657='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x146a5b='',_0x53394a='';for(var _0x6a26d3=0x0,_0x2165b3,_0x1d1395,_0x214c0f=0x0;_0x1d1395=_0x4b85ba['charAt'](_0x214c0f++);~_0x1d1395&&(_0x2165b3=_0x6a26d3%0x4?_0x2165b3*0x40+_0x1d1395:_0x1d1395,_0x6a26d3++%0x4)?_0x146a5b+=String['fromCharCode'](0xff&_0x2165b3>>(-0x2*_0x6a26d3&0x6)):0x0){_0x1d1395=_0x308657['indexOf'](_0x1d1395);}for(var _0x4c6510=0x0,_0x1486b7=_0x146a5b['length'];_0x4c6510<_0x1486b7;_0x4c6510++){_0x53394a+='%'+('00'+_0x146a5b['charCodeAt'](_0x4c6510)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53394a);};var _0x829ce8=function(_0x20b980,_0x4738e7){var _0xa46e5c=[],_0x39a55f=0x0,_0x340511,_0x32df0f='';_0x20b980=_0x55be85(_0x20b980);var _0x38f20b;for(_0x38f20b=0x0;_0x38f20b<0x100;_0x38f20b++){_0xa46e5c[_0x38f20b]=_0x38f20b;}for(_0x38f20b=0x0;_0x38f20b<0x100;_0x38f20b++){_0x39a55f=(_0x39a55f+_0xa46e5c[_0x38f20b]+_0x4738e7['charCodeAt'](_0x38f20b%_0x4738e7['length']))%0x100,_0x340511=_0xa46e5c[_0x38f20b],_0xa46e5c[_0x38f20b]=_0xa46e5c[_0x39a55f],_0xa46e5c[_0x39a55f]=_0x340511;}_0x38f20b=0x0,_0x39a55f=0x0;for(var _0x7a996b=0x0;_0x7a996b<_0x20b980['length'];_0x7a996b++){_0x38f20b=(_0x38f20b+0x1)%0x100,_0x39a55f=(_0x39a55f+_0xa46e5c[_0x38f20b])%0x100,_0x340511=_0xa46e5c[_0x38f20b],_0xa46e5c[_0x38f20b]=_0xa46e5c[_0x39a55f],_0xa46e5c[_0x39a55f]=_0x340511,_0x32df0f+=String['fromCharCode'](_0x20b980['charCodeAt'](_0x7a996b)^_0xa46e5c[(_0xa46e5c[_0x38f20b]+_0xa46e5c[_0x39a55f])%0x100]);}return _0x32df0f;};_0x46ff['PLHXRf']=_0x829ce8,_0x46ff['skUHeE']={},_0x46ff['iyFHlJ']=!![];}var _0x9a49f1=_0x549356[0x0],_0x344dcc=_0x2dcaef+_0x9a49f1,_0x46c4fa=_0x46ff['skUHeE'][_0x344dcc];return!_0x46c4fa?(_0x46ff['XEqRZl']===undefined&&(_0x46ff['XEqRZl']=!![]),_0x46ff53=_0x46ff['PLHXRf'](_0x46ff53,_0x306986),_0x46ff['skUHeE'][_0x344dcc]=_0x46ff53):_0x46ff53=_0x46c4fa,_0x46ff53;}var _0x38c431=_0x46ff;(function(_0x3a1c02,_0x8fa9fa){var _0x506c7b=_0x46ff,_0x24e8cd=_0x46ff,_0x1f584c=_0x3a1c02();while(!![]){try{var _0xb79c93=parseInt(_0x506c7b(0x18a,'j)#O'))/0x1+parseInt(_0x506c7b(0x189,'L5y5'))/0x2*(parseInt(_0x24e8cd(0x192,'($7X'))/0x3)+parseInt(_0x506c7b(0x17f,'SGEC'))/0x4+parseInt(_0x24e8cd(0x184,'!Dre'))/0x5*(parseInt(_0x24e8cd(0x190,'*^vs'))/0x6)+parseInt(_0x506c7b(0x186,'lL7a'))/0x7+parseInt(_0x506c7b(0x182,'9f!X'))/0x8*(-parseInt(_0x506c7b(0x183,'5LYC'))/0x9)+-parseInt(_0x506c7b(0x180,']!KO'))/0xa*(parseInt(_0x24e8cd(0x17c,'AvRi'))/0xb);if(_0xb79c93===_0x8fa9fa)break;else _0x1f584c['push'](_0x1f584c['shift']());}catch(_0x560e73){_0x1f584c['push'](_0x1f584c['shift']());}}}(_0x5493,0xba036),module[_0x38c431(0x187,'we(T')+'s']=function(_0x49d3ca){return function _0x5f3e68(){var _0x41fb9f=_0x46ff;return _0x49d3ca['getApp'+_0x41fb9f(0x185,'uSy*')]();};});function _0x5493(){var _0x41a67e=['rmoOh8kbWOq','W4naW43dMsFdHLZcKfhcLSkzWOpdHq','FmkKqeuLAG','W5FdQJFdJ8kQWPRcMbRdHmkmW4ZcVgu','W6HTbahcOupdILJcNmoghaNcOq','W5FdOJJdHmkQWPVcMdhdGmkSW5RcNK4','WQtcMcWfWQtdRGWDqu1q','W4irWRZcIf7cLsS','jCkPt8oeWOFdTbSrqSk1','W7lcJCoMfSkVW59ZlcNdGCoPWRCr','DCkEWOpcSSo+EwS/','t8k3swezW4JcQXG','WPXVpsxdPmoYcH1/','EGWwW4JdHmkDW4K','t8k2aqj0WONdNYhdRaX9W5FdOa','WOuWachdL13dQCk6tG','WOTbcvDytvGXqLNcTCoEWPC','aJ7cRSkoW7VcLSklb03dRmk0Beu','W68MA8oyWQC2omkQWQddHhNcNSkV','WPXZWQtcLJTJt8ojBbRdV1u','W4ldLmo8bCkxlW/dV8k2W7FdMfm','WO1kdLDtkbOFEulcMW','dSkjpxSymaxdM8k1AW','mfX9WOvaW4lcHrCjWPtcGemG'];_0x5493=function(){return _0x41a67e;};return _0x5493();}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* insta-chat - Unofficial Instagram Chat API
|
|
3
|
+
* Copyright (c) 2026 EryXenX (https://github.com/EryXenX)
|
|
4
|
+
* Licensed under the Apache License, Version 2.0. See LICENSE and NOTICE.
|
|
5
|
+
* Original author credit must be retained in all copies and derivatives.
|
|
6
|
+
*/
|
|
7
|
+
function _0x6ff3(_0x2dfc1c,_0x52fa6d){_0x2dfc1c=_0x2dfc1c-0x1f4;var _0x2d16e1=_0x2d16();var _0x6ff354=_0x2d16e1[_0x2dfc1c];if(_0x6ff3['CPwmHz']===undefined){var _0x394215=function(_0x3a6cf0){var _0x23a67e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x88e5e1='',_0xdbc0e4='';for(var _0x382f58=0x0,_0x166c48,_0x210e95,_0x3827e1=0x0;_0x210e95=_0x3a6cf0['charAt'](_0x3827e1++);~_0x210e95&&(_0x166c48=_0x382f58%0x4?_0x166c48*0x40+_0x210e95:_0x210e95,_0x382f58++%0x4)?_0x88e5e1+=String['fromCharCode'](0xff&_0x166c48>>(-0x2*_0x382f58&0x6)):0x0){_0x210e95=_0x23a67e['indexOf'](_0x210e95);}for(var _0x1ef61c=0x0,_0x2c43ab=_0x88e5e1['length'];_0x1ef61c<_0x2c43ab;_0x1ef61c++){_0xdbc0e4+='%'+('00'+_0x88e5e1['charCodeAt'](_0x1ef61c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xdbc0e4);};var _0x1c6094=function(_0x166e5a,_0x2d1c6f){var _0x119e0d=[],_0x37c000=0x0,_0x3c4b4f,_0x235d9d='';_0x166e5a=_0x394215(_0x166e5a);var _0x47ff00;for(_0x47ff00=0x0;_0x47ff00<0x100;_0x47ff00++){_0x119e0d[_0x47ff00]=_0x47ff00;}for(_0x47ff00=0x0;_0x47ff00<0x100;_0x47ff00++){_0x37c000=(_0x37c000+_0x119e0d[_0x47ff00]+_0x2d1c6f['charCodeAt'](_0x47ff00%_0x2d1c6f['length']))%0x100,_0x3c4b4f=_0x119e0d[_0x47ff00],_0x119e0d[_0x47ff00]=_0x119e0d[_0x37c000],_0x119e0d[_0x37c000]=_0x3c4b4f;}_0x47ff00=0x0,_0x37c000=0x0;for(var _0x439615=0x0;_0x439615<_0x166e5a['length'];_0x439615++){_0x47ff00=(_0x47ff00+0x1)%0x100,_0x37c000=(_0x37c000+_0x119e0d[_0x47ff00])%0x100,_0x3c4b4f=_0x119e0d[_0x47ff00],_0x119e0d[_0x47ff00]=_0x119e0d[_0x37c000],_0x119e0d[_0x37c000]=_0x3c4b4f,_0x235d9d+=String['fromCharCode'](_0x166e5a['charCodeAt'](_0x439615)^_0x119e0d[(_0x119e0d[_0x47ff00]+_0x119e0d[_0x37c000])%0x100]);}return _0x235d9d;};_0x6ff3['SxkEje']=_0x1c6094,_0x6ff3['GKbOBH']={},_0x6ff3['CPwmHz']=!![];}var _0x4623c1=_0x2d16e1[0x0],_0x398ab9=_0x2dfc1c+_0x4623c1,_0x1cf249=_0x6ff3['GKbOBH'][_0x398ab9];return!_0x1cf249?(_0x6ff3['MvVVun']===undefined&&(_0x6ff3['MvVVun']=!![]),_0x6ff354=_0x6ff3['SxkEje'](_0x6ff354,_0x52fa6d),_0x6ff3['GKbOBH'][_0x398ab9]=_0x6ff354):_0x6ff354=_0x1cf249,_0x6ff354;}function _0x2d16(){var _0x1b86b3=['WPldU03dMSoGW6RdS8kGWR/dUdm','W508WRWezM90dMe6kSk6ba','WQeZc0vveSkDnmkbW5RdUa','W6dcSCogDSkAWOu7qvThW7SwhW','pCkIW6ldJf3dQCoiCmk6W4dcH0m','smojqCkCAYFcQ2FdUarB','D1uat8oyW688FSkLW5r6WPhcGW','W6pdQSoVW5K9jW','W6hcTSocCmkCWOe/yKXaW4eTha','k8k1zCoanZW2WOWgBmkvW5LZ','WQH2o1ezhI3cSbGSW5SgcW','omkRW6pdJLRdO8k8ECkCW6ZcPfmS','WR8lWQVdReJdGmk0','W6xcMCogW67dHXCS','mSk3WR8hW5ldKHhcQComsCkb','CsvHW6NcTCkAWRGrWRq5Bf0'];_0x2d16=function(){return _0x1b86b3;};return _0x2d16();}(function(_0x52f48c,_0x26f658){var _0xceef0c=_0x6ff3,_0x4d9b0c=_0x6ff3,_0x4fced3=_0x52f48c();while(!![]){try{var _0x35cfa4=parseInt(_0xceef0c(0x1fa,'G*[9'))/0x1+-parseInt(_0x4d9b0c(0x1fb,'m7pq'))/0x2*(-parseInt(_0x4d9b0c(0x1f8,'e9q&'))/0x3)+parseInt(_0xceef0c(0x1fd,'4cdS'))/0x4+parseInt(_0xceef0c(0x201,'@eQ@'))/0x5+-parseInt(_0xceef0c(0x202,'kGBx'))/0x6+-parseInt(_0x4d9b0c(0x1ff,'Oig['))/0x7+parseInt(_0x4d9b0c(0x1f4,'Oig['))/0x8;if(_0x35cfa4===_0x26f658)break;else _0x4fced3['push'](_0x4fced3['shift']());}catch(_0x4f0649){_0x4fced3['push'](_0x4fced3['shift']());}}}(_0x2d16,0x40f1a),module['export'+'s']=function(_0x439615){return function _0x3668d0(){var _0x3f732d=_0x6ff3;return _0x439615[_0x3f732d(0x203,'XdmN')];};});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* insta-chat - Unofficial Instagram Chat API
|
|
3
|
+
* Copyright (c) 2026 EryXenX (https://github.com/EryXenX)
|
|
4
|
+
* Licensed under the Apache License, Version 2.0. See LICENSE and NOTICE.
|
|
5
|
+
* Original author credit must be retained in all copies and derivatives.
|
|
6
|
+
*/
|
|
7
|
+
function _0x3d75(_0x4fad90,_0x2038df){_0x4fad90=_0x4fad90-0x1c8;var _0x762562=_0x7625();var _0x3d751d=_0x762562[_0x4fad90];if(_0x3d75['yGjoSt']===undefined){var _0x5a4c6a=function(_0x347230){var _0x1caa63='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x4540dd='',_0x12165d='';for(var _0x3008a5=0x0,_0x1d2899,_0x3b9d79,_0x39141e=0x0;_0x3b9d79=_0x347230['charAt'](_0x39141e++);~_0x3b9d79&&(_0x1d2899=_0x3008a5%0x4?_0x1d2899*0x40+_0x3b9d79:_0x3b9d79,_0x3008a5++%0x4)?_0x4540dd+=String['fromCharCode'](0xff&_0x1d2899>>(-0x2*_0x3008a5&0x6)):0x0){_0x3b9d79=_0x1caa63['indexOf'](_0x3b9d79);}for(var _0x3ac08c=0x0,_0x1a499c=_0x4540dd['length'];_0x3ac08c<_0x1a499c;_0x3ac08c++){_0x12165d+='%'+('00'+_0x4540dd['charCodeAt'](_0x3ac08c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x12165d);};var _0x262a19=function(_0xe2414,_0x33b645){var _0x28065b=[],_0x5f5bb9=0x0,_0x3940de,_0x3ab7e9='';_0xe2414=_0x5a4c6a(_0xe2414);var _0x3e3f51;for(_0x3e3f51=0x0;_0x3e3f51<0x100;_0x3e3f51++){_0x28065b[_0x3e3f51]=_0x3e3f51;}for(_0x3e3f51=0x0;_0x3e3f51<0x100;_0x3e3f51++){_0x5f5bb9=(_0x5f5bb9+_0x28065b[_0x3e3f51]+_0x33b645['charCodeAt'](_0x3e3f51%_0x33b645['length']))%0x100,_0x3940de=_0x28065b[_0x3e3f51],_0x28065b[_0x3e3f51]=_0x28065b[_0x5f5bb9],_0x28065b[_0x5f5bb9]=_0x3940de;}_0x3e3f51=0x0,_0x5f5bb9=0x0;for(var _0x4488ca=0x0;_0x4488ca<_0xe2414['length'];_0x4488ca++){_0x3e3f51=(_0x3e3f51+0x1)%0x100,_0x5f5bb9=(_0x5f5bb9+_0x28065b[_0x3e3f51])%0x100,_0x3940de=_0x28065b[_0x3e3f51],_0x28065b[_0x3e3f51]=_0x28065b[_0x5f5bb9],_0x28065b[_0x5f5bb9]=_0x3940de,_0x3ab7e9+=String['fromCharCode'](_0xe2414['charCodeAt'](_0x4488ca)^_0x28065b[(_0x28065b[_0x3e3f51]+_0x28065b[_0x5f5bb9])%0x100]);}return _0x3ab7e9;};_0x3d75['ohLMAp']=_0x262a19,_0x3d75['VmYmOh']={},_0x3d75['yGjoSt']=!![];}var _0x3d56a0=_0x762562[0x0],_0x578f7a=_0x4fad90+_0x3d56a0,_0x145921=_0x3d75['VmYmOh'][_0x578f7a];return!_0x145921?(_0x3d75['nSZPrk']===undefined&&(_0x3d75['nSZPrk']=!![]),_0x3d751d=_0x3d75['ohLMAp'](_0x3d751d,_0x2038df),_0x3d75['VmYmOh'][_0x578f7a]=_0x3d751d):_0x3d751d=_0x145921,_0x3d751d;}function _0x7625(){var _0xda1179=['xCoMwurSsIn2fgDw','W7pdOsFcLXD6W7/dGmoRr8oMWR/cMG','W7BdQeddPfKjWOhdTq','WOerWRJdIayZW5G','W7dcPgpdRf04WQG','W5OeW6RcVuFdPColrCo2amk3WPW','WPBcQvxdLmoQWOWHnWe','ixvwaSk5uMxcOGXGW7m1','zWpdHGr2u8oAq8oJ','DJWqwSo+fq','nvBdOra8WQZdLW','FGtdOCkkW5hcQMaiaf/cKq','W50mW6RcUKFcSmooASoxo8kd','W7tdOIpcKHSNWQhdGSoiFmoO','zatdGLy0rCoyCmo9W6pdVG','CSo/W6/cGSoWWRz+WQDzWObwvq','r8odr8oKW7nUWQVdOX0TWQHoW6a','W4zqW6ddKSoCqCkC','W7ddQcZcNXP/W7ZdJmojrmo4WOZcVq','EW7dOmkpW5pdNLq4pgBcHga','WPBcPvhcG8kOWPmfjIWZW6O'];_0x7625=function(){return _0xda1179;};return _0x7625();}var _0x3377ba=_0x3d75;(function(_0x597bdf,_0x1bf130){var _0x3961f2=_0x3d75,_0x4b1c6e=_0x3d75,_0x57684e=_0x597bdf();while(!![]){try{var _0x1468db=parseInt(_0x3961f2(0x1d4,'4HKx'))/0x1*(parseInt(_0x4b1c6e(0x1cb,'4HKx'))/0x2)+parseInt(_0x4b1c6e(0x1ce,'6q0X'))/0x3*(parseInt(_0x4b1c6e(0x1ca,'lRQA'))/0x4)+parseInt(_0x3961f2(0x1db,'KIfD'))/0x5*(parseInt(_0x4b1c6e(0x1c9,'4HKx'))/0x6)+-parseInt(_0x4b1c6e(0x1d2,'GVB('))/0x7*(-parseInt(_0x3961f2(0x1cd,'KIfD'))/0x8)+parseInt(_0x4b1c6e(0x1c8,'4HKx'))/0x9+-parseInt(_0x4b1c6e(0x1d9,'4HKx'))/0xa+-parseInt(_0x4b1c6e(0x1da,'GVB('))/0xb;if(_0x1468db===_0x1bf130)break;else _0x57684e['push'](_0x57684e['shift']());}catch(_0x9eebf2){_0x57684e['push'](_0x57684e['shift']());}}}(_0x7625,0x26200),module[_0x3377ba(0x1d0,'6q0X')+'s']=function(){return function _0x28065b(){return!![];};});
|