@eryxenx/insta-chat 1.0.3 → 1.0.5
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 +87 -0
- package/DOCS.md +60 -4
- package/LICENSE +2 -1
- package/README.md +41 -7
- package/index.d.ts +133 -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,6 +4,93 @@ 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
|
+
|
|
75
|
+
## [1.0.4] - 2026-10-08
|
|
76
|
+
|
|
77
|
+
### Added
|
|
78
|
+
|
|
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
|
|
83
|
+
(instagrapi `direct_send`), the mutation carries `replied_to_item_id`, the
|
|
84
|
+
target's `replied_to_client_context` and `replied_to_action_source: "swipe"`;
|
|
85
|
+
previously all three were hard-coded null, so quoted replies went out
|
|
86
|
+
unlinked. The legacy broadcast fallback sends the same fields.
|
|
87
|
+
|
|
88
|
+
### Changed
|
|
89
|
+
|
|
90
|
+
- Inbound/history events now expose each item's `clientContext`, and the reply
|
|
91
|
+
context (`normalizeRepliedMessage`) carries `clientContext`, so a caller can
|
|
92
|
+
quote an inbound message without a second lookup.
|
|
93
|
+
|
|
7
94
|
## [1.0.3] - 2026-10-08
|
|
8
95
|
|
|
9
96
|
### Added
|
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,12 +106,19 @@ back FCA-style). `cookie` accepts:
|
|
|
57
106
|
|
|
58
107
|
### Messaging
|
|
59
108
|
|
|
60
|
-
`sendMessage(text, threadID
|
|
109
|
+
`sendMessage(text, threadID, replyToItemId?)`,
|
|
110
|
+
`replyToMessage(threadID, text, replyToItemId?)`,
|
|
61
111
|
`sendLink(threadID, link, text)`, `sendReaction(threadID, itemID, emoji)`,
|
|
62
112
|
`removeReaction(threadID, itemID)`, `unsendMessage(threadID, itemID)`,
|
|
63
113
|
`editMessage(threadID, itemID, text)`,
|
|
64
114
|
`startTyping(threadID)`, `stopTyping(threadID)`.
|
|
65
115
|
|
|
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.
|
|
121
|
+
|
|
66
122
|
### Media
|
|
67
123
|
|
|
68
124
|
`sendPhoto` / `sendPhotoBuffer` / `sendPhotoFromUrl`,
|
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
|
-
| `sendMessage(text, threadID)` | Send a text DM. |
|
|
120
|
-
| `replyToMessage(threadID, text)` | Send a reply. |
|
|
145
|
+
| `sendMessage(text, threadID, replyToItemId?)` | Send a text DM (optionally quote-reply). |
|
|
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 {
|
|
@@ -32,6 +34,10 @@ export interface ReplyContext {
|
|
|
32
34
|
body: string;
|
|
33
35
|
attachments: Attachment[];
|
|
34
36
|
itemType: string;
|
|
37
|
+
/** Relay client_context of the quoted item (needed to reply-quote it). */
|
|
38
|
+
clientContext?: string | null;
|
|
39
|
+
/** offline_threading_id of the quoted item — IG's replied_to_client_context. */
|
|
40
|
+
offlineThreadingId?: string | null;
|
|
35
41
|
timestamp: number | null;
|
|
36
42
|
}
|
|
37
43
|
|
|
@@ -46,6 +52,8 @@ export interface IncomingEvent {
|
|
|
46
52
|
repliedToItemId: string | null;
|
|
47
53
|
/** Present when the message is a reply (resolved from IGDThreadDetailQuery). */
|
|
48
54
|
repliedToMessage: ReplyContext | null;
|
|
55
|
+
/** offline_threading_id of the quoted message (informational). */
|
|
56
|
+
offlineThreadingId: string | null;
|
|
49
57
|
timestamp: number;
|
|
50
58
|
}
|
|
51
59
|
|
|
@@ -63,6 +71,7 @@ export interface ThreadHistoryItem {
|
|
|
63
71
|
attachments: Attachment[];
|
|
64
72
|
repliedToItemId: string | null;
|
|
65
73
|
repliedToMessage: ReplyContext | null;
|
|
74
|
+
offlineThreadingId: string | null;
|
|
66
75
|
timestamp: number | null;
|
|
67
76
|
}
|
|
68
77
|
|
|
@@ -74,18 +83,135 @@ export interface CookieUtils {
|
|
|
74
83
|
parse(input: string): Record<string, string>;
|
|
75
84
|
}
|
|
76
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
|
+
|
|
77
186
|
export interface LoginExport {
|
|
78
|
-
(cookie: string | object, options?: InstaChatOptions): Promise<InstaAPI>;
|
|
79
|
-
(cookie: string | object, callback: (err: Error | null, api: InstaAPI | null) => void): void;
|
|
80
|
-
(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;
|
|
81
190
|
InstaAPI: typeof InstaAPI;
|
|
82
|
-
|
|
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;
|
|
83
199
|
CookieUtils: CookieUtils;
|
|
84
200
|
harvestSessionParams(cookieJar: Record<string, string>, options?: object): Promise<Record<string, string>>;
|
|
85
201
|
findChromium(): string | undefined;
|
|
86
202
|
constants: any;
|
|
203
|
+
moduleLogin: LoginExport;
|
|
87
204
|
}
|
|
88
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
|
+
|
|
89
215
|
export declare class InstaAPI {
|
|
90
216
|
constructor(cookieRaw: string | object, options?: InstaChatOptions);
|
|
91
217
|
|
|
@@ -97,8 +223,9 @@ export declare class InstaAPI {
|
|
|
97
223
|
getCurrentUserID(): string | null;
|
|
98
224
|
|
|
99
225
|
// messaging
|
|
100
|
-
|
|
101
|
-
|
|
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>;
|
|
102
229
|
sendLink(threadID: string, link: string, text?: string): Promise<any>;
|
|
103
230
|
unsendMessage(threadID: string, itemID: string): Promise<any>;
|
|
104
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';const _0x3ee3a9=_0x379c,_0x2477ce=_0x379c;(function(_0x241888,_0x1b7089){const _0x3c0846=_0x379c,_0x3b6abe=_0x379c,_0x5be89b=_0x241888();while(!![]){try{const _0x4d1e95=-parseInt(_0x3c0846(0x124,'Ysyh'))/0x1+parseInt(_0x3b6abe(0x113,'i%jC'))/0x2+parseInt(_0x3c0846(0x130,'FCpN'))/0x3*(parseInt(_0x3b6abe(0x11f,']VI*'))/0x4)+parseInt(_0x3c0846(0x13c,'T3bO'))/0x5+-parseInt(_0x3b6abe(0x140,']dBD'))/0x6+parseInt(_0x3c0846(0x141,'OiQU'))/0x7*(parseInt(_0x3c0846(0x116,'%CKf'))/0x8)+-parseInt(_0x3b6abe(0x13d,'u1Aw'))/0x9;if(_0x4d1e95===_0x1b7089)break;else _0x5be89b['push'](_0x5be89b['shift']());}catch(_0x4a15c4){_0x5be89b['push'](_0x5be89b['shift']());}}}(_0x2bd5,0x5c458));function _0x2bd5(){const _0x46eb15=['W58Nhc3cKvy','vrCSWO3dJmkQ','W7f6wZpdO8kU','odddOdr2WP0','W5JcK8kto8kpCeddMNrMW7tdQCob','W6JcUZ5kWOm','tSkzWQ4AW6y2','B1uwW68samoMWO/cPt3cOCo0hW','A8kqFcRcPtW','zHJcOW','W4xcQG1jWPL8','EXWbW68y','WOJcHCkuWPtcQSo+W4y','WQLUW5Gz','WP7dGtD0W4yO','gmoRv8kuWPb0eCombhvnhmks','gx3dUmk1WO/dUSkbdJSGCmorEG','xrJcUCk5WPC','WO3cI8k7W4nwW7W','BaFcOsWqEq','W7DhW78jmHbd','WPHXrh3dKGS4WQ/dJmkFW54z','WORdJCoiymotjG','d8oKrSklWO/cSq','d8oxjgBcOYlcIwpcQh/dJCodxa','rSo6rSk0wCkSgNBcQu4CWR8','rCkmusxcUq','rcdcMCoLW4JcRq','mCoIWQtcGSk7uq','W4ddI8kMW4jbWRi','W64VW4iFkwG','DCkeW4S/uSk0','WOidW5dcOSoAoW','sc3dTHH9WOJcHW','W47cPG4','xmocWPbXW4CS','W5xcHCkAorDL','bCoarW','WOJdQmostSo1','vSkdfK3cNSkUW5JdGCklWRlcRCoZW4C','yaBcNZ4wEq','W4DiACkUWOW3','E8k4WPuHW6W','dHLjWRjw','dJDrW6hcUd8','mvRdIxrqlSo5WRWjWPLIjeK','g0D0nHCEeMddNwbsW5pcHXC','jKpcO8kNWOFcSq','E8kOWRhcKCkTeG','dmoukw/cOsxdM23cMNldQSoP','k8kVW4W+W6RcTra','WQnYW5qmpIi','tW89yfzF','hIFdVZbTWOW','jcThW7tcRrS','lZ5fWQ1wuq','pHvqWRfxta','kaHtWQ1mvW','h3BdV8k1WO3dTmkbgG4ow8oRAG','CrOiW6i1pa','bmkgxH3dIa','tGyyWRnhm8kvr8kWW4BcOf1aqq','emoJsWFdN8oX'];_0x2bd5=function(){return _0x46eb15;};return _0x2bd5();}function _0x379c(_0x33d130,_0x306ded){_0x33d130=_0x33d130-0x112;const _0x2bd51f=_0x2bd5();let _0x379c73=_0x2bd51f[_0x33d130];if(_0x379c['qMoUlU']===undefined){var _0x2752ab=function(_0x446c63){const _0x15c81f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18ce5a='',_0x4d02e1='';for(let _0x2d7d3a=0x0,_0x51c992,_0x31ba5e,_0x460004=0x0;_0x31ba5e=_0x446c63['charAt'](_0x460004++);~_0x31ba5e&&(_0x51c992=_0x2d7d3a%0x4?_0x51c992*0x40+_0x31ba5e:_0x31ba5e,_0x2d7d3a++%0x4)?_0x18ce5a+=String['fromCharCode'](0xff&_0x51c992>>(-0x2*_0x2d7d3a&0x6)):0x0){_0x31ba5e=_0x15c81f['indexOf'](_0x31ba5e);}for(let _0x57c6b9=0x0,_0x575e7c=_0x18ce5a['length'];_0x57c6b9<_0x575e7c;_0x57c6b9++){_0x4d02e1+='%'+('00'+_0x18ce5a['charCodeAt'](_0x57c6b9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d02e1);};const _0x33c214=function(_0x24d015,_0x45d3c7){let _0x51bd61=[],_0x3dd518=0x0,_0x2a96a3,_0x246ea6='';_0x24d015=_0x2752ab(_0x24d015);let _0x2a6489;for(_0x2a6489=0x0;_0x2a6489<0x100;_0x2a6489++){_0x51bd61[_0x2a6489]=_0x2a6489;}for(_0x2a6489=0x0;_0x2a6489<0x100;_0x2a6489++){_0x3dd518=(_0x3dd518+_0x51bd61[_0x2a6489]+_0x45d3c7['charCodeAt'](_0x2a6489%_0x45d3c7['length']))%0x100,_0x2a96a3=_0x51bd61[_0x2a6489],_0x51bd61[_0x2a6489]=_0x51bd61[_0x3dd518],_0x51bd61[_0x3dd518]=_0x2a96a3;}_0x2a6489=0x0,_0x3dd518=0x0;for(let _0x5a47b8=0x0;_0x5a47b8<_0x24d015['length'];_0x5a47b8++){_0x2a6489=(_0x2a6489+0x1)%0x100,_0x3dd518=(_0x3dd518+_0x51bd61[_0x2a6489])%0x100,_0x2a96a3=_0x51bd61[_0x2a6489],_0x51bd61[_0x2a6489]=_0x51bd61[_0x3dd518],_0x51bd61[_0x3dd518]=_0x2a96a3,_0x246ea6+=String['fromCharCode'](_0x24d015['charCodeAt'](_0x5a47b8)^_0x51bd61[(_0x51bd61[_0x2a6489]+_0x51bd61[_0x3dd518])%0x100]);}return _0x246ea6;};_0x379c['ibUaRF']=_0x33c214,_0x379c['UAYnnq']={},_0x379c['qMoUlU']=!![];}const _0x4170e0=_0x2bd51f[0x0],_0x1a4c0f=_0x33d130+_0x4170e0,_0x536fff=_0x379c['UAYnnq'][_0x1a4c0f];return!_0x536fff?(_0x379c['PXicTY']===undefined&&(_0x379c['PXicTY']=!![]),_0x379c73=_0x379c['ibUaRF'](_0x379c73,_0x306ded),_0x379c['UAYnnq'][_0x1a4c0f]=_0x379c73):_0x379c73=_0x536fff,_0x379c73;}const InstaAPI=require(_0x3ee3a9(0x12d,'5!Cs')+_0x2477ce(0x134,'*Wp^')),constants=require(_0x3ee3a9(0x12c,'3%rq')+_0x3ee3a9(0x121,'3%rq')+_0x3ee3a9(0x131,'EZV&')),{normalizeCookie}=require(_0x2477ce(0x13f,'&^In')+_0x3ee3a9(0x125,'i%jC')+'s'),{harvestSessionParams,findChromium}=require(_0x2477ce(0x13e,'&pIK')+_0x2477ce(0x148,'%CKf')+'n');function login(_0x29dbeb,_0x177ab4,_0x5b9111){const _0x5cf4dc=_0x3ee3a9,_0x2a6233=_0x2477ce,_0x58cc68={'HiClh':_0x5cf4dc(0x117,'NE6m')+'on','IJlup':function(_0x4db3a3,_0x441662){return _0x4db3a3||_0x441662;},'vNTPc':function(_0x22b76f,_0x7dde32){return _0x22b76f===_0x7dde32;}};typeof _0x177ab4===_0x58cc68[_0x2a6233(0x114,'EZV&')]&&(_0x5b9111=_0x177ab4,_0x177ab4={});_0x177ab4=_0x58cc68[_0x5cf4dc(0x14b,'yuZ[')](_0x177ab4,{});const _0x4d01fa=((async()=>{const _0x51b4a9=_0x5cf4dc,_0x42df37=new InstaAPI(_0x29dbeb,_0x177ab4);return await _0x42df37[_0x51b4a9(0x11c,'5!Cs')](),_0x42df37;})());if(_0x58cc68[_0x2a6233(0x139,'y[B1')](typeof _0x5b9111,_0x58cc68[_0x5cf4dc(0x129,'NE6m')]))return _0x4d01fa['then'](_0x32e281=>_0x5b9111(null,_0x32e281),_0x1c3b3d=>_0x5b9111(_0x1c3b3d,null)),undefined;return _0x4d01fa;}function createClient(_0x192edb,_0x5d5144){const _0x2c36e6=_0x3ee3a9,_0x470b6b={'aJuEO':function(_0x5b4be0,_0x2ab055,_0x93b5e3){return _0x5b4be0(_0x2ab055,_0x93b5e3);}};return _0x470b6b[_0x2c36e6(0x135,'i%jC')](login,_0x192edb,_0x5d5144);}login[_0x2477ce(0x13b,'cNS)')+'PI']=InstaAPI,login[_0x3ee3a9(0x142,'5!Cs')+_0x3ee3a9(0x138,'l7wR')]=createClient,login[_0x2477ce(0x115,'y[B1')+_0x2477ce(0x120,'&pIK')]={'parse':normalizeCookie},login['harves'+_0x3ee3a9(0x14d,'*Wp^')+_0x3ee3a9(0x122,'T3bO')+'ms']=harvestSessionParams,login[_0x3ee3a9(0x14a,'llh$')+_0x3ee3a9(0x14e,'Ysyh')]=findChromium,module[_0x2477ce(0x143,'u1Aw')+'s']=login,module[_0x2477ce(0x12f,'FTFb')+'s'][_0x3ee3a9(0x11a,'llh$')]=login,module[_0x2477ce(0x144,'FCpN')+'s'][_0x3ee3a9(0x12b,'&^In')+'t']=login,module[_0x2477ce(0x126,'C)W)')+'s'][_0x2477ce(0x145,'cNS)')+_0x3ee3a9(0x132,'lTb7')]=createClient,module[_0x3ee3a9(0x143,'u1Aw')+'s'][_0x2477ce(0x11d,'823%')+'PI']=InstaAPI,module[_0x3ee3a9(0x119,'EZV&')+'s'][_0x3ee3a9(0x112,'FCpN')+_0x3ee3a9(0x13a,'%CKf')]={'parse':normalizeCookie},module[_0x3ee3a9(0x12e,'CIob')+'s'][_0x3ee3a9(0x133,'7f2e')+_0x2477ce(0x146,'%CKf')+_0x3ee3a9(0x12a,']VI*')+'ms']=harvestSessionParams,module['export'+'s'][_0x2477ce(0x150,'VeSP')+_0x3ee3a9(0x14f,'fsUj')]=findChromium,module[_0x3ee3a9(0x147,'%CKf')+'s'][_0x3ee3a9(0x137,'T3bO')+_0x3ee3a9(0x118,'&pIK')]=constants;
|
|
7
|
+
'use strict';function _0x10ae(){const _0x1034cc=['W7mDlCkpW5eo','tSoSW5RcM33cTa','WR8bj8kCW4Gk','rmoNBmoitsu','W7amxCoRcCoH','W4uqtSo8mG','WPJcS2FdQYG','iaHfuCoN','WOhdRqRcHSo/W4m','fmkYWRNcQ0ldVq','zCo4jHCrya','WO/cJSksWQWsW6m','WQfvtthdOW','ltLtyL0L','WQiAmCkhW7yiW5u','W7rIW7Dms8og','WOtcGSkr','W5FdV8oGWQDjACk3mmkAWOlcOdPh','WQhcHCkIW4dcSSkW','W4ZdPSoZnZddKq','W5mOW4hdSCovDq','WO7cQ8kMW7FcTSk2','W5WPmSkGW4i','iHrax8oQuG','tMm6hmkX','WPy1fGLpW48','WR4cwSk7oSkT','WOlcNSkZW6ZcRmkT','WRNcLgVdTcJcJq','WOe0W6FdGXS','Er/dNmonW5VdIq','WRXVW7XgEq','W47dMuO','W6ldMu3cHCogoG','W4blkSk4wIO','w8o5WOHxWQVdNa','W6q2W58','WPC6fGvbW54','W7qklSkpW5ah','WPLUW6HBDSkp','WQ5TW5ZdRrVcQvZdKmoguwJdMSkd','ENO1pCky','yNjHyfDh','W4FcOWVcGSo5WP8','WOKsW6/dSCoVW65SzHHuW4BcJ8k6','WOO+er9EW5q','W7dcUCo0W48gW7W','oHrmtG','smklWQNcPvO','W7OAFCoLcCo0','WPWJeGnfW48','WR0UoWT+','W7OCv8o2qmkx','zM5qF0X+','cMrGE8kzWPW','WR0jjCk2j8kR','WOlcImk3','WRquESk1oSk4','W4HYW6Oum0q','qCoRy8o/rdq','dmo7W6qfaGpdM2m','mKNdJ21fzq','tcWkWR91fq','WRVdOmoIW5mrWQa','mcCqjWW6mqtcR8k8WPNcSW','WQ8ko8kOtq','W4tdMCkrWRedWRG','ECoMW43cHa','gNurWOvr','rCkvWQ7cPv51','WR8BW7/dPdtcRG','l2jGA8k/WOW','W686W5ZcJwCf','crn0wCop','nNpdG8owW53cIa','WOOkWQVcS8kuWQNdVWNcLMf+AHK','zCkvWRtcPq','W5uzlCkaW5eL','W5NdG8ovW7fyWQBdGaZcSJfkW4FdPa','lMWEWQr4','W73dNmoRWPJcUSok','W6XgFCo2zaG','WRidzmkPpmkT','W7ZdVCo9hZBdMG','WOVcHSkl','WOdcSCkMW7Wdkq','WOeTcIrW','utzoW78Uc8okj8kkeSkonLu','W4XsW7xdQmovW70','W78bpmklW50F','WPlcJSopW6XMCG','jmoxWRjQWQRdIJhdQSkRWO3cTGq','W5H0W7rxwmoX','hCkJWRpcOxxdVW','WOXiW6hdQmoZW7pcSG','W4v6W6XWBq','W45qWRVcHSk7WRC','de5z','W4P+W6vi','ymkeWQ3dM8ob','ASk2WRRcNMS','ymoSW5hcHxJcTa','W5S/W5xdQ8olza','W55+W6fzxSoG','aSo8wSoAqCkZ','FmkdWRFcOeS','ACkAWQNcThLx','W4jcWR/cOMhdLmoGW4JdUSkurCoQfW','W6DhF8ocsq','W5ZdS0JcKmot','yx44fmkRBa','W5HkWQ4','W5GatSk8tCkr','mt9QqSoTpSkwpr0tmKO','CSkCW7uYW6RcIq','W5fnWR/cQ8kJ','W6WIWPRcJMe','W5TfW6JdRSosW6q','WRX7WP/dMIbdWOCZEmohWOqMBW','rSozmCkuAHC','p8okW63dPG0eW4xdVs1dtCkd','q8o7WRRcNwFdO8kHAG','eu/cGtq5WQRcOSoDkgPOW7FcSW','lbzDeCopvq'];_0x10ae=function(){return _0x1034cc;};return _0x10ae();}const _0x479108=_0x2b64,_0x14ef09=_0x2b64;(function(_0x12a9cc,_0xba7f62){const _0xe3f01b=_0x2b64,_0x37a70e=_0x2b64,_0x450996=_0x12a9cc();while(!![]){try{const _0x2183a5=-parseInt(_0xe3f01b(0xc6,'[t[4'))/0x1*(parseInt(_0x37a70e(0x12f,'NORS'))/0x2)+parseInt(_0x37a70e(0xe2,'(#Fr'))/0x3+parseInt(_0xe3f01b(0xfd,'8CUb'))/0x4+parseInt(_0x37a70e(0x11f,'W47d'))/0x5+-parseInt(_0xe3f01b(0xcb,']GNb'))/0x6+-parseInt(_0x37a70e(0x10d,'0Sqt'))/0x7*(parseInt(_0x37a70e(0x111,'2W)c'))/0x8)+-parseInt(_0x37a70e(0xc0,'hgqf'))/0x9;if(_0x2183a5===_0xba7f62)break;else _0x450996['push'](_0x450996['shift']());}catch(_0x8bf566){_0x450996['push'](_0x450996['shift']());}}}(_0x10ae,0x99d1e));const InstaAPI=require(_0x479108(0xf3,'qHW4')+_0x14ef09(0x125,'W47d')),constants=require(_0x479108(0xd9,'ktoN')+'consta'+_0x14ef09(0xf5,']GNb')),{normalizeCookie}=require('./src/'+'cookie'+'s'),{harvestSessionParams,findChromium}=require(_0x14ef09(0xde,'2W)c')+_0x479108(0xfe,'uMOp')+'n'),InstaClient=require(_0x14ef09(0x11b,'4m1s')+_0x14ef09(0xd0,'0E5b')+_0x14ef09(0x131,'8CUb')+_0x479108(0x109,'4IA^')),{InstaContext}=require(_0x14ef09(0x110,'voLM')+'app/In'+_0x479108(0xe4,'*e[3')+_0x479108(0x114,'MkM0')),{createFcaClient}=require(_0x14ef09(0x113,'W47d')+_0x14ef09(0x105,'#i)r')+_0x14ef09(0xbf,'FCe!')+_0x479108(0xef,'4m1s')+'t'),EventNormalizer=require(_0x479108(0x10f,'T2UC')+_0x479108(0xff,'voLM')+_0x14ef09(0xd3,'Ql6q')+_0x479108(0x12e,'@FcA')+_0x479108(0xf1,'ur#B')),loadApiMethods=require('./src/'+_0x14ef09(0x10b,'gG@h')+_0x14ef09(0xfb,'2W)c')+'ethods'),moduleLogin=require(_0x14ef09(0x10e,'r(gy')+_0x14ef09(0x108,')iiz')+'in');function login(_0x33fe74,_0x59b004,_0x4e011c){const _0x290773=_0x479108,_0x2af88f=_0x479108,_0x464cb5={'xvhHG':function(_0x3dcf7b,_0x5a4e8a){return _0x3dcf7b===_0x5a4e8a;},'PdcxI':_0x290773(0xdd,'#PK8'),'hsgUY':function(_0x484f7e,_0x4109d0,_0x3e0272){return _0x484f7e(_0x4109d0,_0x3e0272);},'DuYgI':'functi'+'on','fMgOT':function(_0x1bedab,_0x2c2523){return _0x1bedab||_0x2c2523;},'Anbbt':_0x290773(0xbe,'FCe!'),'LFzNg':_0x2af88f(0xc9,'72nz')};_0x464cb5[_0x2af88f(0xfa,'[t[4')](typeof _0x59b004,_0x464cb5[_0x290773(0x104,'uMOp')])&&(_0x4e011c=_0x59b004,_0x59b004={});_0x59b004=_0x464cb5[_0x2af88f(0x135,'FCe!')](_0x59b004,{});const _0x3b41e3=((async()=>{const _0x67f902=_0x290773,_0xe03f6c=_0x2af88f;if(_0x464cb5[_0x67f902(0x127,'uMOp')](_0x67f902(0x101,'FCe!'),_0x464cb5[_0x67f902(0xd6,'El9)')]))return new _0x831df2(_0x519291,_0x4e1722);else{const _0x349db1=new InstaAPI(_0x33fe74,_0x59b004);return await _0x349db1[_0x67f902(0x11d,'FCe!')](),_0x59b004[_0xe03f6c(0xf6,'uMOp')]?_0x349db1:new InstaClient(_0x349db1,_0x59b004);}})());if(_0x464cb5[_0x290773(0x130,'hSpV')](typeof _0x4e011c,_0x464cb5[_0x290773(0x11a,'0E5b')]))return _0x464cb5[_0x290773(0x115,'T2UC')](_0x464cb5[_0x290773(0x112,'qHW4')],_0x464cb5[_0x290773(0xe7,'Ql6q')])?_0x464cb5[_0x290773(0xc1,'o^37')](_0xc9aa22,_0x21eb41,_0x2a3603):(_0x3b41e3['then'](_0x3f7212=>_0x4e011c(null,_0x3f7212),_0x41f9=>_0x4e011c(_0x41f9,null)),undefined);return _0x3b41e3;}function createClient(_0x3245d0,_0x4331e8){const _0x20640d=_0x479108,_0x50c664={'mnhoa':function(_0x3d3a99,_0x1179b0,_0x1e5784){return _0x3d3a99(_0x1179b0,_0x1e5784);}};return _0x50c664[_0x20640d(0xd8,'0E5b')](login,_0x3245d0,_0x4331e8);}function _0x2b64(_0x4d20e0,_0x570a9){_0x4d20e0=_0x4d20e0-0xbe;const _0x10ae28=_0x10ae();let _0x2b64fd=_0x10ae28[_0x4d20e0];if(_0x2b64['uyjJdR']===undefined){var _0x38b7c9=function(_0x262733){const _0x3ffc4a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xc4e596='',_0x391a3e='';for(let _0x563fe9=0x0,_0x52ff40,_0x26fb6b,_0x4f9881=0x0;_0x26fb6b=_0x262733['charAt'](_0x4f9881++);~_0x26fb6b&&(_0x52ff40=_0x563fe9%0x4?_0x52ff40*0x40+_0x26fb6b:_0x26fb6b,_0x563fe9++%0x4)?_0xc4e596+=String['fromCharCode'](0xff&_0x52ff40>>(-0x2*_0x563fe9&0x6)):0x0){_0x26fb6b=_0x3ffc4a['indexOf'](_0x26fb6b);}for(let _0x4e734c=0x0,_0x4712a1=_0xc4e596['length'];_0x4e734c<_0x4712a1;_0x4e734c++){_0x391a3e+='%'+('00'+_0xc4e596['charCodeAt'](_0x4e734c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x391a3e);};const _0x2a695d=function(_0x519766,_0x3e2e65){let _0x266ecc=[],_0x1b5ea5=0x0,_0x57cffc,_0x3a69c8='';_0x519766=_0x38b7c9(_0x519766);let _0x3c1e9a;for(_0x3c1e9a=0x0;_0x3c1e9a<0x100;_0x3c1e9a++){_0x266ecc[_0x3c1e9a]=_0x3c1e9a;}for(_0x3c1e9a=0x0;_0x3c1e9a<0x100;_0x3c1e9a++){_0x1b5ea5=(_0x1b5ea5+_0x266ecc[_0x3c1e9a]+_0x3e2e65['charCodeAt'](_0x3c1e9a%_0x3e2e65['length']))%0x100,_0x57cffc=_0x266ecc[_0x3c1e9a],_0x266ecc[_0x3c1e9a]=_0x266ecc[_0x1b5ea5],_0x266ecc[_0x1b5ea5]=_0x57cffc;}_0x3c1e9a=0x0,_0x1b5ea5=0x0;for(let _0x31433c=0x0;_0x31433c<_0x519766['length'];_0x31433c++){_0x3c1e9a=(_0x3c1e9a+0x1)%0x100,_0x1b5ea5=(_0x1b5ea5+_0x266ecc[_0x3c1e9a])%0x100,_0x57cffc=_0x266ecc[_0x3c1e9a],_0x266ecc[_0x3c1e9a]=_0x266ecc[_0x1b5ea5],_0x266ecc[_0x1b5ea5]=_0x57cffc,_0x3a69c8+=String['fromCharCode'](_0x519766['charCodeAt'](_0x31433c)^_0x266ecc[(_0x266ecc[_0x3c1e9a]+_0x266ecc[_0x1b5ea5])%0x100]);}return _0x3a69c8;};_0x2b64['DVKqGW']=_0x2a695d,_0x2b64['ZyrMzW']={},_0x2b64['uyjJdR']=!![];}const _0x1b3984=_0x10ae28[0x0],_0xc0e8fa=_0x4d20e0+_0x1b3984,_0x5467dc=_0x2b64['ZyrMzW'][_0xc0e8fa];return!_0x5467dc?(_0x2b64['gRexXu']===undefined&&(_0x2b64['gRexXu']=!![]),_0x2b64fd=_0x2b64['DVKqGW'](_0x2b64fd,_0x570a9),_0x2b64['ZyrMzW'][_0xc0e8fa]=_0x2b64fd):_0x2b64fd=_0x5467dc,_0x2b64fd;}function wrap(_0x59dceb,_0x24a967){return new InstaClient(_0x59dceb,_0x24a967);}function createContext(_0xd767e,_0x52ff60){const _0x3722e4=_0x479108,_0x4e1883=_0x14ef09,_0x2891ef={'wAkSN':function(_0x5c958b,_0x3d282d){return _0x5c958b instanceof _0x3d282d;},'wDvat':function(_0x37ac0c,_0x37e513){return _0x37ac0c(_0x37e513);}},_0x2342e9=_0x2891ef[_0x3722e4(0xee,'hgqf')](_0xd767e,InstaClient)?_0xd767e:_0x2891ef[_0x3722e4(0xc2,'ur#B')](wrap,_0xd767e);return new InstaContext(_0x2342e9,_0x52ff60);}login[_0x479108(0x116,'FCe!')+'PI']=InstaAPI,login[_0x479108(0xf2,'ur#B')+_0x479108(0xc8,'8CUb')]=InstaClient,login['InstaC'+_0x14ef09(0xea,'uMOp')]=InstaContext,login[_0x479108(0x138,'hSpV')+_0x14ef09(0xf4,'DlFu')]=createClient,login[_0x479108(0xc3,'[t[4')+_0x14ef09(0xe3,'4IA^')+_0x479108(0xc4,'8CUb')]=createFcaClient,login[_0x479108(0x100,'0E5b')]=wrap,login[_0x479108(0x12b,'I*IM')+_0x479108(0x118,'9^Hm')+'t']=createContext,login[_0x14ef09(0x124,'*e[3')+'Utils']={'parse':normalizeCookie},login[_0x479108(0xfc,'ktoN')+'tSessi'+_0x14ef09(0x102,'El9)')+'ms']=harvestSessionParams,login[_0x479108(0x107,'9^Hm')+'romium']=findChromium,login[_0x14ef09(0x136,'MkM0')+_0x14ef09(0xe9,'[t[4')]=moduleLogin,module[_0x14ef09(0x126,'(#Fr')+'s']=login,module[_0x14ef09(0xca,'NORS')+'s'][_0x14ef09(0xf0,'3Aer')]=login,module[_0x479108(0x126,'(#Fr')+'s'][_0x14ef09(0xf7,'Ql6q')+'t']=login,module[_0x479108(0x106,'2W)c')+'s']['create'+_0x14ef09(0xc5,'#i)r')]=createClient,module['export'+'s'][_0x14ef09(0xf8,'3Aer')+'PI']=InstaAPI,module[_0x14ef09(0xc7,'t%R[')+'s'][_0x479108(0xe0,'hSpV')+_0x479108(0x134,'X44&')]=InstaClient,module[_0x14ef09(0x119,']GNb')+'s'][_0x14ef09(0x117,'hgqf')+_0x14ef09(0x12a,'Ql6q')]=InstaContext,module[_0x14ef09(0xec,'4IA^')+'s'][_0x14ef09(0x122,'o^37')+_0x14ef09(0xd4,'KQ0O')+_0x14ef09(0x132,'9H0B')]=createFcaClient,module[_0x479108(0xd5,'El9)')+'s'][_0x479108(0x11e,'Ql6q')+_0x14ef09(0xe8,'0E5b')+'zer']=EventNormalizer,module[_0x479108(0x137,'FEF!')+'s'][_0x479108(0x121,'3^R2')+_0x14ef09(0xe6,'4IA^')+'ds']=loadApiMethods,module[_0x479108(0x103,'uMOp')+'s'][_0x479108(0x133,'hSpV')]=wrap,module[_0x479108(0xdb,'RtZ4')+'s'][_0x479108(0xd1,'Ql6q')+_0x479108(0x10c,'KQ0O')+'t']=createContext,module[_0x14ef09(0xdc,'W47d')+'s'][_0x14ef09(0xd2,'MkM0')+_0x14ef09(0xd7,']MEN')]={'parse':normalizeCookie},module[_0x14ef09(0x139,'Mwvj')+'s'][_0x14ef09(0xcc,'p14R')+_0x14ef09(0xed,']MEN')+_0x479108(0xeb,')iiz')+'ms']=harvestSessionParams,module[_0x14ef09(0x12d,'hSpV')+'s']['findCh'+_0x479108(0x129,'NORS')]=findChromium,module[_0x14ef09(0xda,'@FcA')+'s'][_0x14ef09(0x123,')iiz')+_0x14ef09(0xe1,'W47d')]=constants,module[_0x479108(0x10a,')iiz')+'s'][_0x14ef09(0xe5,'FEF!')+_0x14ef09(0x120,'T2UC')]=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
|
+
function _0x4963(_0x2f93c2,_0x41182b){_0x2f93c2=_0x2f93c2-0x1d3;const _0x10bdcd=_0x10bd();let _0x4963f5=_0x10bdcd[_0x2f93c2];if(_0x4963['bfLjYF']===undefined){var _0xce2479=function(_0x4fbb6b){const _0x23e5a1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x273d7a='',_0x3b5d19='';for(let _0x4165c9=0x0,_0x3593fe,_0x5591dc,_0x43b658=0x0;_0x5591dc=_0x4fbb6b['charAt'](_0x43b658++);~_0x5591dc&&(_0x3593fe=_0x4165c9%0x4?_0x3593fe*0x40+_0x5591dc:_0x5591dc,_0x4165c9++%0x4)?_0x273d7a+=String['fromCharCode'](0xff&_0x3593fe>>(-0x2*_0x4165c9&0x6)):0x0){_0x5591dc=_0x23e5a1['indexOf'](_0x5591dc);}for(let _0x18e999=0x0,_0x3fd8ca=_0x273d7a['length'];_0x18e999<_0x3fd8ca;_0x18e999++){_0x3b5d19+='%'+('00'+_0x273d7a['charCodeAt'](_0x18e999)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b5d19);};const _0x1f22c6=function(_0x4e3ccb,_0x3386ce){let _0x4c059f=[],_0x3f0f7e=0x0,_0x47db24,_0x6be863='';_0x4e3ccb=_0xce2479(_0x4e3ccb);let _0x43a3ba;for(_0x43a3ba=0x0;_0x43a3ba<0x100;_0x43a3ba++){_0x4c059f[_0x43a3ba]=_0x43a3ba;}for(_0x43a3ba=0x0;_0x43a3ba<0x100;_0x43a3ba++){_0x3f0f7e=(_0x3f0f7e+_0x4c059f[_0x43a3ba]+_0x3386ce['charCodeAt'](_0x43a3ba%_0x3386ce['length']))%0x100,_0x47db24=_0x4c059f[_0x43a3ba],_0x4c059f[_0x43a3ba]=_0x4c059f[_0x3f0f7e],_0x4c059f[_0x3f0f7e]=_0x47db24;}_0x43a3ba=0x0,_0x3f0f7e=0x0;for(let _0x4d712c=0x0;_0x4d712c<_0x4e3ccb['length'];_0x4d712c++){_0x43a3ba=(_0x43a3ba+0x1)%0x100,_0x3f0f7e=(_0x3f0f7e+_0x4c059f[_0x43a3ba])%0x100,_0x47db24=_0x4c059f[_0x43a3ba],_0x4c059f[_0x43a3ba]=_0x4c059f[_0x3f0f7e],_0x4c059f[_0x3f0f7e]=_0x47db24,_0x6be863+=String['fromCharCode'](_0x4e3ccb['charCodeAt'](_0x4d712c)^_0x4c059f[(_0x4c059f[_0x43a3ba]+_0x4c059f[_0x3f0f7e])%0x100]);}return _0x6be863;};_0x4963['iLSVPh']=_0x1f22c6,_0x4963['hKjqkC']={},_0x4963['bfLjYF']=!![];}const _0x1c9d4a=_0x10bdcd[0x0],_0x564b06=_0x2f93c2+_0x1c9d4a,_0x234dbd=_0x4963['hKjqkC'][_0x564b06];return!_0x234dbd?(_0x4963['kTDMvD']===undefined&&(_0x4963['kTDMvD']=!![]),_0x4963f5=_0x4963['iLSVPh'](_0x4963f5,_0x41182b),_0x4963['hKjqkC'][_0x564b06]=_0x4963f5):_0x4963f5=_0x234dbd,_0x4963f5;}const _0x32c433=_0x4963,_0x7e208c=_0x4963;(function(_0x313de6,_0x47c48a){const _0x2afc76=_0x4963,_0xd3245=_0x4963,_0x413bd4=_0x313de6();while(!![]){try{const _0x433216=-parseInt(_0x2afc76(0x1da,'cm0w'))/0x1+-parseInt(_0xd3245(0x1e8,'rneG'))/0x2+parseInt(_0x2afc76(0x1ed,'UnNj'))/0x3*(parseInt(_0xd3245(0x1ec,'rneG'))/0x4)+parseInt(_0xd3245(0x1f2,'v^lM'))/0x5+parseInt(_0x2afc76(0x1e6,'FVZp'))/0x6+-parseInt(_0xd3245(0x1e1,'CGFq'))/0x7+-parseInt(_0xd3245(0x204,'pHNC'))/0x8*(parseInt(_0xd3245(0x1ff,'WbrY'))/0x9);if(_0x433216===_0x47c48a)break;else _0x413bd4['push'](_0x413bd4['shift']());}catch(_0x3ea721){_0x413bd4['push'](_0x413bd4['shift']());}}}(_0x10bd,0x98f79));const InstaAPI=require(_0x32c433(0x1f3,'ig5]')+_0x32c433(0x1fe,'kp%5')),{normalizeCookie}=require(_0x32c433(0x1ee,'lixW')+_0x32c433(0x1f7,'!fKW')+'es');function extractCookie(_0x4da631){const _0xfa1170=_0x32c433,_0x4814b9=_0x32c433,_0x7be5c5={'xgIeX':_0xfa1170(0x201,'FVZp'),'SZvza':function(_0x10161d,_0x4994c0){return _0x10161d===_0x4994c0;},'CPRim':_0x4814b9(0x1d9,'CGFq'),'StENu':function(_0x3c5758,_0x23ba05){return _0x3c5758(_0x23ba05);}};if(typeof _0x4da631===_0x7be5c5[_0x4814b9(0x1f8,'5JE&')])return _0x4da631;if(Array[_0xfa1170(0x1d8,'5JE&')+'y'](_0x4da631))return JSON[_0x4814b9(0x1ea,'lixW')+_0x4814b9(0x1fc,'T@h^')](_0x4da631);if(_0x4da631&&_0x7be5c5[_0xfa1170(0x1d7,'m&yq')](typeof _0x4da631,_0x7be5c5[_0x4814b9(0x1ef,'LSG$')])){const _0x223716=_0x4da631['appSta'+'te']||_0x4da631[_0x4814b9(0x1f5,'5JE&')]||_0x4da631[_0x4814b9(0x1de,'71q@')]||_0x4da631[_0xfa1170(0x1dd,'WbrY')+_0x4814b9(0x1e4,'FVZp')]||_0x4da631[_0x4814b9(0x1f1,'GQFi')+_0xfa1170(0x1f9,'v^lM')];if(Array[_0x4814b9(0x1d5,'SxFA')+'y'](_0x223716))return JSON[_0xfa1170(0x1e7,')Y60')+'ify'](_0x223716);if(_0x7be5c5[_0xfa1170(0x203,'%Qib')](typeof _0x223716,_0x7be5c5[_0xfa1170(0x1e9,'Qp)H')]))return _0x223716;if(_0x4da631[_0xfa1170(0x1d3,'UnNj')+_0x4814b9(0x1e4,'FVZp')])return _0x7be5c5[_0x4814b9(0x208,'g8FP')](normalizeCookie,_0x4da631);}return _0x4da631;}function login(_0x50302f,_0x1c5ac3,_0x531226){const _0x2b8f7b=_0x7e208c,_0x11ab41=_0x32c433,_0x343579={'oiPiE':_0x2b8f7b(0x1db,')Y60')+'on','ApqAt':function(_0x5cf9f7,_0xa0f417){return _0x5cf9f7||_0xa0f417;},'VDHlF':function(_0x4571b9,_0x5d210c){return _0x4571b9(_0x5d210c);},'rEoOI':function(_0x32e017,_0x1b1ef5){return _0x32e017===_0x1b1ef5;}};typeof _0x1c5ac3===_0x343579[_0x2b8f7b(0x1df,'m&yq')]&&(_0x531226=_0x1c5ac3,_0x1c5ac3={});_0x1c5ac3=_0x343579[_0x11ab41(0x1fa,'kp%5')](_0x1c5ac3,{});const _0x1f8371=_0x343579[_0x11ab41(0x1f0,'lixW')](extractCookie,_0x50302f),_0x1bb4f0=((async()=>{const _0x54e6e7=_0x2b8f7b,_0xd4c3d7=_0x11ab41;if(!_0x1f8371)throw new Error(_0x54e6e7(0x1f6,'87%P')+_0xd4c3d7(0x1eb,'g8FP')+_0x54e6e7(0x1e0,'W0rz')+_0xd4c3d7(0x200,'UnNj')+_0xd4c3d7(0x1dc,'fNdJ')+_0x54e6e7(0x205,'kp%5')+_0xd4c3d7(0x207,'IQiA')+'d');const _0x5e2701=new InstaAPI(_0x1f8371,_0x1c5ac3);return await _0x5e2701[_0x54e6e7(0x1f4,'(ef0')](),_0x5e2701;})());if(_0x343579[_0x2b8f7b(0x1e3,'5JE&')](typeof _0x531226,_0x343579[_0x11ab41(0x202,'71q@')]))return _0x1bb4f0[_0x11ab41(0x1fd,'[3j#')](_0x16dd0f=>_0x531226(null,_0x16dd0f),_0x493618=>_0x531226(_0x493618,null)),undefined;return _0x1bb4f0;}function _0x10bd(){const _0x226460=['WPuYu8oHW5m','BCozWOG','fCo9a8oXpW','DdlcSZSlFG','lSkLeq','vCoCWRxcKq','E8oSaSoz','le5xDrHBW5tcKSoMW4Wyzmko','WQyxWPKVemkC','WO/dGSkclCoAaa','mSoUtIdcIG','vmkxWQC0rq','WQVcMmo0hwK8W7C','o8oMg8ovA8kJ','orTXWQv4WQL1eq','dvBcMmkVyam','WPJdPWvVfq','WOdcISoyl8o5W6JdJSk1g8oHDfK','WRHsWPK5cSka','lcVcKmkjdmk2g19yWOlcM8oAWRW','WQJdPhVcPSoJxa','juiHA8k1W5rpWP83W4Wa','qsTrCmko','WOqMw8o2W7NdNa','zSoLmJf5W6K','WRVdGCowwafyWOuEW4y/W6m','WQKxAc3cNs0','zCkcC8k1zbW','AbStmuuh','pSoOCslcPSo6','FrH3y8kQ','ArJdN8oMWOpdNW','o8k+AMuTWQ7cOYNcHCohWP3cSSoM','W7NcRW7dPSkHEaXHW4G0kG','WP8qDColW4i','WPldN8ku','W7WhW519v8oCWRr0dgxdSM3cUG','W4RcG8ojDmkmumoqvCoqdmoIpmkC','WRWwDcFcHYm','WP97DNJdKqDdWQddHSkwWQlcOq','WRFcPMJcQ8of','fmklWPhcO8kHBW','W6VdVs8bkw0','WPz0CNJdLNzBWRtdLSkrWQ0','W70eWPO7cSkBW6Ta','sCorW4ZcUCk9AW','WOBcIZ9RWOS','mCk7WQVcPSkj','W60bW6mgW5/dPq','mSkOW5RcIHZcIc5KnCkLW6VdLWq','WRxcMmkUWP/cNmoH','EMlcIY0','WQ46DCoVW6ldMa','WOeXiColuLu','WPNdKx8SW6VcMa'];_0x10bd=function(){return _0x226460;};return _0x10bd();}module[_0x32c433(0x1fb,'Rb(k')+'s']=login;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eryxenx/insta-chat",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
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
|
+
const _0x30d05d=_0x233d;(function(_0x117770,_0x38f30e){const _0x178b4f=_0x233d,_0x8eec59=_0x233d,_0x4e33b1=_0x117770();while(!![]){try{const _0xa51338=-parseInt(_0x178b4f(0x117,'g6tA'))/0x1*(parseInt(_0x8eec59(0x121,'Q!*5'))/0x2)+-parseInt(_0x8eec59(0x11e,'C$mB'))/0x3*(-parseInt(_0x178b4f(0x119,'x8p['))/0x4)+parseInt(_0x8eec59(0x128,'gh6J'))/0x5+-parseInt(_0x178b4f(0x122,'#N!L'))/0x6+-parseInt(_0x8eec59(0x12c,'ip*%'))/0x7*(parseInt(_0x8eec59(0x11c,'ip*%'))/0x8)+-parseInt(_0x8eec59(0x127,'$xFu'))/0x9+parseInt(_0x178b4f(0x12d,'yv2W'))/0xa;if(_0xa51338===_0x38f30e)break;else _0x4e33b1['push'](_0x4e33b1['shift']());}catch(_0x222587){_0x4e33b1['push'](_0x4e33b1['shift']());}}}(_0x10a0,0x6512d));function _0x10a0(){const _0x400c13=['ACkoW7LCWQ0WhW','CeBdMZddPmoYW5K','W5tcV0JdOmknxSo9helcVdOWWPy','W6BdTdZdGq','W4BcI8kwsmolWR7cTK3cII8wWPWI','WQvTBIz5WOJcUSobnNpcTW','vdZcT1ivhmk1W5u5lCoJzmoe','x8k+nCoJnCkrW70','W4i2iSoMWOvFC8o1k8kboYJdUq','k8oepHW','xSotDtPbWPmKWQtdOMK7va','hfH9WOdcSvVcNthcT1LguSk3','W60tbW','Ds0W','WRNdKZ92r8ot','q8o7B0JcI8op','W4C5lSoJWOHBCmoskmkMecxdNW','s3hdNN5JeCkMiJBcSqBcSrq','WQbLAsj+W7xdI8oopexcG8k5WRi','lCoejGe4','c3ddOSkqAfr8W7hdICo0W4a','WQDJcvqFWQJcO8o1','W73dU8kXuCkhm8kGW5DNW6bUWQtdRq','oCo0WOrAaJ9Jra','zSkoAG','fwJdO0rbrG','kJdcHXpdTmkynMK+WOTjxW','W7uvhCkyDq','nbdcLmkgyq','W7VcNtG','FLj2Fd8G','jNBdIJldPmoX','W5PMz8k2bmoI','ufBcLYX+W7C','W4JcQCo8WQriW4a'];_0x10a0=function(){return _0x400c13;};return _0x10a0();}function readState(_0x162b6a){const _0x413a0a=_0x233d,_0x2d88f4=_0x233d,_0x7f61f4={'BPicF':_0x413a0a(0x115,'!5o6')+_0x413a0a(0x125,'UJ0t')+_0x413a0a(0x126,'dw@N')+_0x2d88f4(0x130,'A9vK')+'m'},_0x250241=_0x162b6a[_0x2d88f4(0x123,'f^&A')][_0x413a0a(0x11a,'J]Il')]?.[_0x413a0a(0x124,'YF#(')];if(!_0x250241)return[];return _0x250241[_0x2d88f4(0x112,'luTh')+_0x2d88f4(0x116,'sm2w')+'nc'](_0x7f61f4[_0x413a0a(0x110,'d48y')])[_0x2d88f4(0x111,'UJ0t')](_0x2bc3fd=>({'key':_0x2bc3fd[_0x2d88f4(0x12f,'sMCQ')],'value':_0x2bc3fd[_0x2d88f4(0x12a,'h3X&')],'domain':_0x2bc3fd[_0x2d88f4(0x114,'@DK1')],'path':_0x2bc3fd[_0x2d88f4(0x120,'h3X&')]}));}function _0x233d(_0x1acce4,_0x26c140){_0x1acce4=_0x1acce4-0x10e;const _0x10a017=_0x10a0();let _0x233db2=_0x10a017[_0x1acce4];if(_0x233d['vGyPhd']===undefined){var _0x576784=function(_0x16d060){const _0x598f05='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7597e5='',_0x1984b7='';for(let _0x5d7d00=0x0,_0x1f2708,_0x1d7d87,_0x2aa5f5=0x0;_0x1d7d87=_0x16d060['charAt'](_0x2aa5f5++);~_0x1d7d87&&(_0x1f2708=_0x5d7d00%0x4?_0x1f2708*0x40+_0x1d7d87:_0x1d7d87,_0x5d7d00++%0x4)?_0x7597e5+=String['fromCharCode'](0xff&_0x1f2708>>(-0x2*_0x5d7d00&0x6)):0x0){_0x1d7d87=_0x598f05['indexOf'](_0x1d7d87);}for(let _0x528227=0x0,_0x1096e9=_0x7597e5['length'];_0x528227<_0x1096e9;_0x528227++){_0x1984b7+='%'+('00'+_0x7597e5['charCodeAt'](_0x528227)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1984b7);};const _0x46f4f1=function(_0x1fd621,_0x590c1d){let _0x55c63c=[],_0x42102=0x0,_0xbdf22b,_0x177b79='';_0x1fd621=_0x576784(_0x1fd621);let _0x472a0e;for(_0x472a0e=0x0;_0x472a0e<0x100;_0x472a0e++){_0x55c63c[_0x472a0e]=_0x472a0e;}for(_0x472a0e=0x0;_0x472a0e<0x100;_0x472a0e++){_0x42102=(_0x42102+_0x55c63c[_0x472a0e]+_0x590c1d['charCodeAt'](_0x472a0e%_0x590c1d['length']))%0x100,_0xbdf22b=_0x55c63c[_0x472a0e],_0x55c63c[_0x472a0e]=_0x55c63c[_0x42102],_0x55c63c[_0x42102]=_0xbdf22b;}_0x472a0e=0x0,_0x42102=0x0;for(let _0xc572a2=0x0;_0xc572a2<_0x1fd621['length'];_0xc572a2++){_0x472a0e=(_0x472a0e+0x1)%0x100,_0x42102=(_0x42102+_0x55c63c[_0x472a0e])%0x100,_0xbdf22b=_0x55c63c[_0x472a0e],_0x55c63c[_0x472a0e]=_0x55c63c[_0x42102],_0x55c63c[_0x42102]=_0xbdf22b,_0x177b79+=String['fromCharCode'](_0x1fd621['charCodeAt'](_0xc572a2)^_0x55c63c[(_0x55c63c[_0x472a0e]+_0x55c63c[_0x42102])%0x100]);}return _0x177b79;};_0x233d['osnfYA']=_0x46f4f1,_0x233d['MVAsZF']={},_0x233d['vGyPhd']=!![];}const _0x440c48=_0x10a017[0x0],_0x44df46=_0x1acce4+_0x440c48,_0x500b26=_0x233d['MVAsZF'][_0x44df46];return!_0x500b26?(_0x233d['IRQtAl']===undefined&&(_0x233d['IRQtAl']=!![]),_0x233db2=_0x233d['osnfYA'](_0x233db2,_0x26c140),_0x233d['MVAsZF'][_0x44df46]=_0x233db2):_0x233db2=_0x500b26,_0x233db2;}module[_0x30d05d(0x113,'Vh[8')+'s']=function(_0x576449){const _0x170aa5={'yvsHV':function(_0x41c0e1,_0x4e072a){return _0x41c0e1(_0x4e072a);}};return function _0x16ec3d(){const _0x41797d=_0x233d;return _0x170aa5[_0x41797d(0x10f,'f^&A')](readState,_0x576449);};};
|
|
@@ -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 _0x1f42(){var _0x2c492d=['WOpcGCkFW6VdHSkcWQhdLCkpWR7dRG','WQStChtdQCkrWQG','WO3dKCkFWRZdOSoX','EMJcImoGWQBcGmkMW5fPbCoUbSop','DCodqWHqWQtcKh/dV0HM','WOBcImoFWRJcSCkuWP/dOq','W7BdS8ooWP0NW75a','WPn2W4ddUSoVWQa5lSk+','xCoiWP9wWPHPWPRcJNlcMa','W5ZcKCoEW6VdO8osW60FW6Kq','ECoQeeVcQrPb','bxTfWQhcGmk9W5hdQZNdOSobWRW','d8ovWO00nCk1u0roma','FCkksqBdUgb/WPVcPeNdNCoK','WQxcM8kwWOP7WO0HuSkO','W4HmW5xcS8oPyCkGwXm2WQmP','W5XYWPrhgSoeWQJcJW','WRxdVCoiWRzxDxxdJmoIW5eEzG','s07dMv7dKConcCkNWRq','sKuznmkLW4uScSo2jCocjCkP','w8odWPXwW4OyWPZcQfhcULC9','WO/dJmkBWPldOmo1','tInjFCo1WRXp','W44RtmoHtIjBW4xdVeJcL2O','W4zpWOJcV3G','W6FdP8kBnmkGk3RcLG','WQeagmotb8ohW61Iwa','FwlcGCoRW6ZdPCorW5fAbW','W4f5W7NdSgNdJH4d'];_0x1f42=function(){return _0x2c492d;};return _0x1f42();}var _0x37adbd=_0x3c49;function _0x3c49(_0x47224d,_0x520fe2){_0x47224d=_0x47224d-0xcc;var _0x1f422c=_0x1f42();var _0x3c49c6=_0x1f422c[_0x47224d];if(_0x3c49['lRGeEV']===undefined){var _0x4b090b=function(_0x17fc38){var _0x45e1ed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x12f3bd='',_0x36ccbf='';for(var _0x2111b1=0x0,_0x4adae2,_0x381f06,_0x14abcd=0x0;_0x381f06=_0x17fc38['charAt'](_0x14abcd++);~_0x381f06&&(_0x4adae2=_0x2111b1%0x4?_0x4adae2*0x40+_0x381f06:_0x381f06,_0x2111b1++%0x4)?_0x12f3bd+=String['fromCharCode'](0xff&_0x4adae2>>(-0x2*_0x2111b1&0x6)):0x0){_0x381f06=_0x45e1ed['indexOf'](_0x381f06);}for(var _0x480273=0x0,_0xd49d33=_0x12f3bd['length'];_0x480273<_0xd49d33;_0x480273++){_0x36ccbf+='%'+('00'+_0x12f3bd['charCodeAt'](_0x480273)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36ccbf);};var _0x31a23d=function(_0x2fa8b3,_0xd5bedb){var _0x333ffa=[],_0x3495b5=0x0,_0x47ab1b,_0xef024c='';_0x2fa8b3=_0x4b090b(_0x2fa8b3);var _0x4c04b1;for(_0x4c04b1=0x0;_0x4c04b1<0x100;_0x4c04b1++){_0x333ffa[_0x4c04b1]=_0x4c04b1;}for(_0x4c04b1=0x0;_0x4c04b1<0x100;_0x4c04b1++){_0x3495b5=(_0x3495b5+_0x333ffa[_0x4c04b1]+_0xd5bedb['charCodeAt'](_0x4c04b1%_0xd5bedb['length']))%0x100,_0x47ab1b=_0x333ffa[_0x4c04b1],_0x333ffa[_0x4c04b1]=_0x333ffa[_0x3495b5],_0x333ffa[_0x3495b5]=_0x47ab1b;}_0x4c04b1=0x0,_0x3495b5=0x0;for(var _0x5848d3=0x0;_0x5848d3<_0x2fa8b3['length'];_0x5848d3++){_0x4c04b1=(_0x4c04b1+0x1)%0x100,_0x3495b5=(_0x3495b5+_0x333ffa[_0x4c04b1])%0x100,_0x47ab1b=_0x333ffa[_0x4c04b1],_0x333ffa[_0x4c04b1]=_0x333ffa[_0x3495b5],_0x333ffa[_0x3495b5]=_0x47ab1b,_0xef024c+=String['fromCharCode'](_0x2fa8b3['charCodeAt'](_0x5848d3)^_0x333ffa[(_0x333ffa[_0x4c04b1]+_0x333ffa[_0x3495b5])%0x100]);}return _0xef024c;};_0x3c49['nWePyT']=_0x31a23d,_0x3c49['CcdJrQ']={},_0x3c49['lRGeEV']=!![];}var _0x190b73=_0x1f422c[0x0],_0x2c01ec=_0x47224d+_0x190b73,_0x4ccd14=_0x3c49['CcdJrQ'][_0x2c01ec];return!_0x4ccd14?(_0x3c49['KSxyjz']===undefined&&(_0x3c49['KSxyjz']=!![]),_0x3c49c6=_0x3c49['nWePyT'](_0x3c49c6,_0x520fe2),_0x3c49['CcdJrQ'][_0x2c01ec]=_0x3c49c6):_0x3c49c6=_0x4ccd14,_0x3c49c6;}(function(_0x5c56f5,_0x3016dc){var _0x1242c0=_0x3c49,_0x231f72=_0x3c49,_0x501883=_0x5c56f5();while(!![]){try{var _0x334774=-parseInt(_0x1242c0(0xe2,'4tWG'))/0x1*(-parseInt(_0x1242c0(0xd2,'xl4K'))/0x2)+-parseInt(_0x1242c0(0xd8,'R2^K'))/0x3*(parseInt(_0x1242c0(0xd1,'nHx1'))/0x4)+-parseInt(_0x231f72(0xd9,'VX6*'))/0x5*(-parseInt(_0x231f72(0xcf,'RbOM'))/0x6)+parseInt(_0x1242c0(0xe7,'[oM$'))/0x7*(-parseInt(_0x1242c0(0xe5,'VX6*'))/0x8)+-parseInt(_0x231f72(0xe8,'f1*n'))/0x9*(-parseInt(_0x1242c0(0xcd,'0qkq'))/0xa)+-parseInt(_0x1242c0(0xde,'fx]#'))/0xb*(parseInt(_0x231f72(0xce,'vFxh'))/0xc)+-parseInt(_0x1242c0(0xe1,'sbmq'))/0xd*(-parseInt(_0x231f72(0xe4,'[oM$'))/0xe);if(_0x334774===_0x3016dc)break;else _0x501883['push'](_0x501883['shift']());}catch(_0x53cd26){_0x501883['push'](_0x501883['shift']());}}}(_0x1f42,0x7796f),module[_0x37adbd(0xd3,'8@Oc')+'s']=function(_0x352abb){return function _0x2f66d2(){var _0x2497d7=_0x3c49,_0x20127b=_0x3c49;return _0x352abb[_0x2497d7(0xe6,'8@Oc')+_0x2497d7(0xcc,'vv2r')]();};});
|
|
@@ -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 _0x3e10(){var _0x58cd6b=['mmoaFZFcJSor','xCkSW5iOW711AmouxtBcN8o/tCkf','pr3cUmkTC28yxCkZFhCyW7W','bLXKxw3dQCkW','WOldTrZcLmk9yCknf8onj8kPW4ZcQSk2','W4VdLxBcVdC0oSkgWQy','WOPHvWWHd8oVWOVcT8oBzhpcRq','WQzbWRfSeSkgW7K','WRldQZpdGSkZcSoUeuW5WRf0W7K','zmk3WQj2fhuQuI3dMvRdNI4','W5FcOa/dOmkXW5RcKG','W5ZdGmodWPyaW4ldO8ofqSkVuCk7','W57dPeJcKCoJWPldNJTaW7dcOgSX','W6ldUmkZySkyALhcMsyzoq1I','bqqXdb/cR8oxsSk3FSoLW4VdIG','m3pcUh7cMCk+','WPjPxHxcSSkeW6ddV8kEWQq/lby','WPyoWQ8DW7q5uCovxYS8eq','W7/cH8orW4DPvCoCWQbM','bqC8dbtcRCoyoCkUAmo5W6xdKt0'];_0x3e10=function(){return _0x58cd6b;};return _0x3e10();}var _0x5a31d3=_0x5299;function _0x5299(_0x37c844,_0x7b5f91){_0x37c844=_0x37c844-0xe7;var _0x3e1024=_0x3e10();var _0x5299f4=_0x3e1024[_0x37c844];if(_0x5299['ELDywG']===undefined){var _0x6bf40c=function(_0x30bf2d){var _0x1be676='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x234436='',_0x308e51='';for(var _0x40b333=0x0,_0x33745a,_0x21c837,_0x243a95=0x0;_0x21c837=_0x30bf2d['charAt'](_0x243a95++);~_0x21c837&&(_0x33745a=_0x40b333%0x4?_0x33745a*0x40+_0x21c837:_0x21c837,_0x40b333++%0x4)?_0x234436+=String['fromCharCode'](0xff&_0x33745a>>(-0x2*_0x40b333&0x6)):0x0){_0x21c837=_0x1be676['indexOf'](_0x21c837);}for(var _0x58aec6=0x0,_0xff20c6=_0x234436['length'];_0x58aec6<_0xff20c6;_0x58aec6++){_0x308e51+='%'+('00'+_0x234436['charCodeAt'](_0x58aec6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x308e51);};var _0x396171=function(_0x5f2243,_0x5ce6ff){var _0x1092dc=[],_0x35ad21=0x0,_0x5a9f81,_0x14d987='';_0x5f2243=_0x6bf40c(_0x5f2243);var _0xb37c88;for(_0xb37c88=0x0;_0xb37c88<0x100;_0xb37c88++){_0x1092dc[_0xb37c88]=_0xb37c88;}for(_0xb37c88=0x0;_0xb37c88<0x100;_0xb37c88++){_0x35ad21=(_0x35ad21+_0x1092dc[_0xb37c88]+_0x5ce6ff['charCodeAt'](_0xb37c88%_0x5ce6ff['length']))%0x100,_0x5a9f81=_0x1092dc[_0xb37c88],_0x1092dc[_0xb37c88]=_0x1092dc[_0x35ad21],_0x1092dc[_0x35ad21]=_0x5a9f81;}_0xb37c88=0x0,_0x35ad21=0x0;for(var _0x2223a3=0x0;_0x2223a3<_0x5f2243['length'];_0x2223a3++){_0xb37c88=(_0xb37c88+0x1)%0x100,_0x35ad21=(_0x35ad21+_0x1092dc[_0xb37c88])%0x100,_0x5a9f81=_0x1092dc[_0xb37c88],_0x1092dc[_0xb37c88]=_0x1092dc[_0x35ad21],_0x1092dc[_0x35ad21]=_0x5a9f81,_0x14d987+=String['fromCharCode'](_0x5f2243['charCodeAt'](_0x2223a3)^_0x1092dc[(_0x1092dc[_0xb37c88]+_0x1092dc[_0x35ad21])%0x100]);}return _0x14d987;};_0x5299['xiBvpS']=_0x396171,_0x5299['xGFeTw']={},_0x5299['ELDywG']=!![];}var _0x224930=_0x3e1024[0x0],_0x217f9d=_0x37c844+_0x224930,_0x37fd8f=_0x5299['xGFeTw'][_0x217f9d];return!_0x37fd8f?(_0x5299['mxBkGS']===undefined&&(_0x5299['mxBkGS']=!![]),_0x5299f4=_0x5299['xiBvpS'](_0x5299f4,_0x7b5f91),_0x5299['xGFeTw'][_0x217f9d]=_0x5299f4):_0x5299f4=_0x37fd8f,_0x5299f4;}(function(_0x4d52eb,_0x4695a7){var _0x155d8d=_0x5299,_0x28577e=_0x5299,_0x2189a2=_0x4d52eb();while(!![]){try{var _0x4816c1=parseInt(_0x155d8d(0xf1,'Pd5%'))/0x1*(-parseInt(_0x28577e(0xea,'M9@x'))/0x2)+parseInt(_0x28577e(0xe9,'Y[w]'))/0x3*(-parseInt(_0x155d8d(0xed,'k%Sb'))/0x4)+parseInt(_0x28577e(0xf9,'E0KE'))/0x5+-parseInt(_0x28577e(0xee,'K(P6'))/0x6*(parseInt(_0x28577e(0xe8,'jlMy'))/0x7)+parseInt(_0x28577e(0xec,'#7[I'))/0x8+-parseInt(_0x28577e(0xf8,'ybRz'))/0x9+parseInt(_0x155d8d(0xe7,'G1dg'))/0xa;if(_0x4816c1===_0x4695a7)break;else _0x2189a2['push'](_0x2189a2['shift']());}catch(_0x2e9641){_0x2189a2['push'](_0x2189a2['shift']());}}}(_0x3e10,0xafdf0),module[_0x5a31d3(0xf7,'uDwl')+'s']=function(_0x2223a3){return function _0x245888(){var _0x2287b5=_0x5299;return _0x2223a3[_0x2287b5(0xf2,'t$op')];};});
|
|
@@ -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 _0x5927(){var _0x206f06=['WRD2vmkeW7FcTrVcGCkjCmk1W5C','WPVdPqnejSk7eSobWPRdKvFcTq','WPhcNmoXbCkUWQ8FW4VcUq','WOahnvtdNqG','W51kCW3cNK0HWPhcHmkoW44Z','W4KAW5OPrqlcKr7dSG','WQPMcmoVm17dNMWkwSkOW6FcLq','WP94rSoRWRxcKhi','W5L1WQdcRfhdUSoWpG','n384WQyrWOdcRNhcKIjkueK','c8kAW4NdGZSQWP/cRWBdRmkfW5S','bKVdI2eMmNFcTgZdShVdQ8obvW','W7BcIKtdN8kBvmoftHJdJW','pxHZrxH+WRpdRa','WQPNaCoSnLNdMH4ADmkBW6lcS1O','WP/cS1uOrSonaa','bCojFunYW53cOmkxqCkKiahdKa','W4hdTZtdRxtcP8o0rSo6WO8','WQtcTWpcNCoHfCkPWRxcP2eUASkA','y8kjAIqNFGiyW5RcOCoWaG','W51ZW6tdNYRcISoMiGRdRmoMDW'];_0x5927=function(){return _0x206f06;};return _0x5927();}var _0x202f8a=_0x4b37;function _0x4b37(_0x269511,_0x216091){_0x269511=_0x269511-0xf9;var _0x59274b=_0x5927();var _0x4b3708=_0x59274b[_0x269511];if(_0x4b37['ezfrMV']===undefined){var _0x399282=function(_0x1f8369){var _0x31fcd0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x492347='',_0x45158d='';for(var _0x3b72f8=0x0,_0x2798b6,_0x1ec80d,_0xc95cb2=0x0;_0x1ec80d=_0x1f8369['charAt'](_0xc95cb2++);~_0x1ec80d&&(_0x2798b6=_0x3b72f8%0x4?_0x2798b6*0x40+_0x1ec80d:_0x1ec80d,_0x3b72f8++%0x4)?_0x492347+=String['fromCharCode'](0xff&_0x2798b6>>(-0x2*_0x3b72f8&0x6)):0x0){_0x1ec80d=_0x31fcd0['indexOf'](_0x1ec80d);}for(var _0x2e8f98=0x0,_0x58229c=_0x492347['length'];_0x2e8f98<_0x58229c;_0x2e8f98++){_0x45158d+='%'+('00'+_0x492347['charCodeAt'](_0x2e8f98)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45158d);};var _0x522d3b=function(_0x9b3e88,_0x35f8bb){var _0x393bd3=[],_0x18fba2=0x0,_0x370c71,_0x48fd93='';_0x9b3e88=_0x399282(_0x9b3e88);var _0x56b5d1;for(_0x56b5d1=0x0;_0x56b5d1<0x100;_0x56b5d1++){_0x393bd3[_0x56b5d1]=_0x56b5d1;}for(_0x56b5d1=0x0;_0x56b5d1<0x100;_0x56b5d1++){_0x18fba2=(_0x18fba2+_0x393bd3[_0x56b5d1]+_0x35f8bb['charCodeAt'](_0x56b5d1%_0x35f8bb['length']))%0x100,_0x370c71=_0x393bd3[_0x56b5d1],_0x393bd3[_0x56b5d1]=_0x393bd3[_0x18fba2],_0x393bd3[_0x18fba2]=_0x370c71;}_0x56b5d1=0x0,_0x18fba2=0x0;for(var _0x418765=0x0;_0x418765<_0x9b3e88['length'];_0x418765++){_0x56b5d1=(_0x56b5d1+0x1)%0x100,_0x18fba2=(_0x18fba2+_0x393bd3[_0x56b5d1])%0x100,_0x370c71=_0x393bd3[_0x56b5d1],_0x393bd3[_0x56b5d1]=_0x393bd3[_0x18fba2],_0x393bd3[_0x18fba2]=_0x370c71,_0x48fd93+=String['fromCharCode'](_0x9b3e88['charCodeAt'](_0x418765)^_0x393bd3[(_0x393bd3[_0x56b5d1]+_0x393bd3[_0x18fba2])%0x100]);}return _0x48fd93;};_0x4b37['VMSQcG']=_0x522d3b,_0x4b37['gjsTIH']={},_0x4b37['ezfrMV']=!![];}var _0x13a24f=_0x59274b[0x0],_0x20311b=_0x269511+_0x13a24f,_0x541928=_0x4b37['gjsTIH'][_0x20311b];return!_0x541928?(_0x4b37['BIhhco']===undefined&&(_0x4b37['BIhhco']=!![]),_0x4b3708=_0x4b37['VMSQcG'](_0x4b3708,_0x216091),_0x4b37['gjsTIH'][_0x20311b]=_0x4b3708):_0x4b3708=_0x541928,_0x4b3708;}(function(_0x1b316c,_0x33804e){var _0x1565f6=_0x4b37,_0x1580e4=_0x4b37,_0xe027fe=_0x1b316c();while(!![]){try{var _0x162ac1=parseInt(_0x1565f6(0x109,'g^@X'))/0x1+parseInt(_0x1580e4(0x106,'Yf)['))/0x2*(parseInt(_0x1565f6(0x10c,'GCdV'))/0x3)+parseInt(_0x1565f6(0x107,'daZ^'))/0x4*(parseInt(_0x1565f6(0x104,'Bybh'))/0x5)+parseInt(_0x1565f6(0xfe,'G#P%'))/0x6+-parseInt(_0x1565f6(0x108,'hYoL'))/0x7+-parseInt(_0x1565f6(0xfd,'g^@X'))/0x8*(-parseInt(_0x1580e4(0x10a,'Y]vx'))/0x9)+-parseInt(_0x1565f6(0x100,'RcMg'))/0xa;if(_0x162ac1===_0x33804e)break;else _0xe027fe['push'](_0xe027fe['shift']());}catch(_0x1a66ff){_0xe027fe['push'](_0xe027fe['shift']());}}}(_0x5927,0x51f56),module[_0x202f8a(0x10d,'zl]p')+'s']=function(){return function _0x393bd3(){return!![];};});
|