agent-messenger 2.25.0 → 2.27.0

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.
Files changed (53) hide show
  1. package/.claude-plugin/README.md +16 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +28 -1
  4. package/dist/package.json +1 -1
  5. package/dist/src/platforms/discord/commands/auth.d.ts +4 -0
  6. package/dist/src/platforms/discord/commands/auth.d.ts.map +1 -1
  7. package/dist/src/platforms/discord/commands/auth.js +61 -1
  8. package/dist/src/platforms/discord/commands/auth.js.map +1 -1
  9. package/dist/src/platforms/discord/index.d.ts +2 -0
  10. package/dist/src/platforms/discord/index.d.ts.map +1 -1
  11. package/dist/src/platforms/discord/index.js +1 -0
  12. package/dist/src/platforms/discord/index.js.map +1 -1
  13. package/dist/src/platforms/discord/listener.d.ts +1 -4
  14. package/dist/src/platforms/discord/listener.d.ts.map +1 -1
  15. package/dist/src/platforms/discord/listener.js +33 -15
  16. package/dist/src/platforms/discord/listener.js.map +1 -1
  17. package/dist/src/platforms/discord/remote-auth.d.ts +42 -0
  18. package/dist/src/platforms/discord/remote-auth.d.ts.map +1 -0
  19. package/dist/src/platforms/discord/remote-auth.js +208 -0
  20. package/dist/src/platforms/discord/remote-auth.js.map +1 -0
  21. package/dist/src/platforms/slack/qr-http-login.d.ts.map +1 -1
  22. package/dist/src/platforms/slack/qr-http-login.js +105 -6
  23. package/dist/src/platforms/slack/qr-http-login.js.map +1 -1
  24. package/docs/content/docs/sdk/discord.mdx +23 -9
  25. package/e2e/README.md +3 -1
  26. package/package.json +1 -1
  27. package/skills/agent-channeltalk/SKILL.md +1 -1
  28. package/skills/agent-channeltalkbot/SKILL.md +1 -1
  29. package/skills/agent-discord/SKILL.md +43 -7
  30. package/skills/agent-discord/references/authentication.md +46 -8
  31. package/skills/agent-discordbot/SKILL.md +1 -1
  32. package/skills/agent-instagram/SKILL.md +1 -1
  33. package/skills/agent-kakaotalk/SKILL.md +1 -1
  34. package/skills/agent-line/SKILL.md +1 -1
  35. package/skills/agent-slack/SKILL.md +7 -4
  36. package/skills/agent-slack/references/authentication.md +8 -3
  37. package/skills/agent-slackbot/SKILL.md +1 -1
  38. package/skills/agent-teams/SKILL.md +1 -1
  39. package/skills/agent-telegram/SKILL.md +1 -1
  40. package/skills/agent-telegrambot/SKILL.md +1 -1
  41. package/skills/agent-webex/SKILL.md +1 -1
  42. package/skills/agent-webexbot/SKILL.md +1 -1
  43. package/skills/agent-wechatbot/SKILL.md +1 -1
  44. package/skills/agent-whatsapp/SKILL.md +1 -1
  45. package/skills/agent-whatsappbot/SKILL.md +1 -1
  46. package/src/platforms/discord/commands/auth.ts +81 -1
  47. package/src/platforms/discord/index.ts +2 -0
  48. package/src/platforms/discord/listener.test.ts +12 -4
  49. package/src/platforms/discord/listener.ts +36 -16
  50. package/src/platforms/discord/remote-auth.test.ts +261 -0
  51. package/src/platforms/discord/remote-auth.ts +317 -0
  52. package/src/platforms/slack/qr-http-login.test.ts +47 -0
  53. package/src/platforms/slack/qr-http-login.ts +112 -7
@@ -24,6 +24,7 @@ Or within Claude Code:
24
24
  Enables AI agents to interact with messaging platforms through CLI interfaces:
25
25
 
26
26
  ### Slack (`agent-slack`)
27
+ - **QR code sign-in** — recommended, safest auth (no credential extraction)
27
28
  - **Send messages** to channels and threads
28
29
  - **Read channels** and message history
29
30
  - **Manage reactions** (add/remove/list)
@@ -46,6 +47,7 @@ Enables AI agents to interact with messaging platforms through CLI interfaces:
46
47
  - Designed for **server-side and CI/CD** use cases
47
48
 
48
49
  ### Discord (`agent-discord`)
50
+ - **QR code sign-in** — recommended, scan with the mobile app (no credential extraction)
49
51
  - **Send messages** to channels
50
52
  - **Read channels** and message history
51
53
  - **Manage reactions** (add/remove/list)
@@ -141,7 +143,19 @@ Enables AI agents to interact with messaging platforms through CLI interfaces:
141
143
 
142
144
  ### Zero-Config Authentication
143
145
 
144
- Credentials are automatically extracted from your desktop apps on first command — no manual auth step needed. You can also extract manually:
146
+ Credentials are automatically extracted from your desktop apps on first command — no manual auth step needed. You can also authenticate manually.
147
+
148
+ For **Slack and Discord, QR code sign-in is the recommended method** — it's the safest and most reliable option because it authenticates through the platform's own login flow instead of reading credentials off disk, and it works without a desktop app or browser:
149
+
150
+ ```bash
151
+ # Slack — paste the QR from "Sign in on mobile" (recommended)
152
+ pbpaste | agent-slack auth qr
153
+
154
+ # Discord — scan the QR with the Discord mobile app (recommended)
155
+ agent-discord auth qr
156
+ ```
157
+
158
+ Or extract credentials directly from your desktop apps / browsers:
145
159
 
146
160
  ```bash
147
161
  # Slack
@@ -174,7 +188,7 @@ All commands output JSON by default for easy AI consumption. Use `--pretty` for
174
188
 
175
189
  ## Requirements
176
190
 
177
- - Desktop app installed and logged in for the platform(s) you want to use (Slack, Discord, Teams, KakaoTalk, and/or Channel Talk). Instagram uses username/password auth
191
+ - Desktop app installed and logged in for the platform(s) you want to use (Slack, Discord, Teams, KakaoTalk, and/or Channel Talk). For Slack and Discord, QR code sign-in is the recommended alternative — no desktop app required (Discord needs the mobile app to scan). Instagram uses username/password auth
178
192
  - For Telegram: TDLib is bundled; API credentials are auto-provisioned on first login
179
193
  - Node.js 18+ or Bun runtime
180
194
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-messenger",
3
- "version": "2.25.0",
3
+ "version": "2.27.0",
4
4
  "description": "Messaging platform interaction skills for AI agents. Interact with Slack, Discord, Microsoft Teams, Webex, Telegram, Telegram Bot, WhatsApp, LINE, Instagram, KakaoTalk, and Channel Talk - send messages, read channels, manage reactions, upload files, and more through simple CLI interfaces.",
5
5
  "author": {
6
6
  "name": "agent-messenger",
package/README.md CHANGED
@@ -45,6 +45,10 @@ Every platform gates API access behind OAuth apps that need admin approval — d
45
45
 
46
46
  Agent Messenger reads session tokens from your Slack, Discord, Teams, KakaoTalk, or Channel Talk desktop app — zero config. If the desktop app isn't installed, it falls back to extracting from Chromium browsers, with `auth extract --browser-profile <path>` for custom Chromium profile locations. Webex and Instagram tokens are extracted directly from browsers. Telegram authenticates with a one-time phone code, and WhatsApp with a QR code or pairing code. Either way, your agent operates **as you** — same name, same permissions, same context. Bot tokens are fully supported too for server-side and CI/CD use cases.
47
47
 
48
+ > [!TIP]
49
+ > **For Slack and Discord, QR code sign-in (`auth qr`) is the recommended way to authenticate** — it's the safest and most reliable method. It signs you in through the platform's own login flow instead of reading credentials off disk, and works even without the desktop app. See the [Slack](skills/agent-slack/references/authentication.md) and [Discord](skills/agent-discord/references/authentication.md) auth guides.
50
+
51
+ - **QR Code Sign-In (Slack & Discord)** — The recommended, safest auth: sign in through the platform's official flow, no credential extraction and no desktop app required (Discord scans with the mobile app)
48
52
  - **Auto-Extract Auth** — Reads tokens from Slack, Discord, Teams, KakaoTalk, and Channel Talk desktop apps, with browser fallback and custom Chromium profile paths via `--browser-profile`. Webex and Instagram tokens extracted from Chromium browsers. Telegram and WhatsApp authenticate with a one-time code — still under a minute
49
53
  - **Act As Yourself** — Extracts your user session — not a bot token. Your agent sends messages, reacts, and searches as you. Need bot mode? Bot CLIs are included too
50
54
  - **One Interface** — Consistent command style across 7 platforms for supported actions (e.g. message send, message search, channel list, snapshot). Learn once
@@ -73,7 +77,7 @@ This installs:
73
77
 
74
78
  - `agent-slack` — Slack CLI (user token, zero-config, or QR code sign-in)
75
79
  - `agent-slackbot` — Slack Bot CLI (bot token, for server-side/CI/CD)
76
- - `agent-discord` — Discord CLI
80
+ - `agent-discord` — Discord CLI (token extraction, or QR code sign-in via the mobile app)
77
81
  - `agent-discordbot` — Discord Bot CLI (bot token, for server-side/CI/CD)
78
82
  - `agent-teams` — Microsoft Teams CLI
79
83
  - `agent-webex` — Cisco Webex CLI (browser token extraction with e2e encryption + OAuth Device Grant, zero-config)
@@ -135,6 +139,13 @@ agent-slack message send general "Hello from the CLI!"
135
139
 
136
140
  That's it. Credentials are extracted automatically from your Slack desktop app on first run. No OAuth flows. No API tokens. No configuration files.
137
141
 
142
+ > **No desktop app?** QR code sign-in is the recommended way to authenticate Slack and Discord. In Slack, open "Sign in on mobile", copy the QR image, and pipe it in; in Discord, scan the printed QR with the mobile app:
143
+ >
144
+ > ```bash
145
+ > pbpaste | agent-slack auth qr # paste Slack's "Sign in on mobile" QR
146
+ > agent-discord auth qr # scan the printed QR with the Discord app
147
+ > ```
148
+
138
149
  ### Custom config directory
139
150
 
140
151
  By default, Agent Messenger stores credentials, sync state, and derived-key caches under `~/.config/agent-messenger`. To relocate everything (e.g. for CI sandboxes, multi-tenant setups, or non-default home directories), set the `AGENT_MESSENGER_CONFIG_DIR` environment variable:
@@ -229,6 +240,22 @@ const session = await loginWithQr(dataUrl)
229
240
  const client = await new SlackClient().login({ token: session.token, cookie: session.cookie })
230
241
  ```
231
242
 
243
+ ### QR Code Login (Discord)
244
+
245
+ Sign in by scanning a QR code with the Discord mobile app — no desktop app or browser token extraction required. `loginWithRemoteAuth` runs Discord's Remote Auth protocol and hands you a QR URL to display; once the user scans and confirms on their phone, you receive the user token.
246
+
247
+ ```typescript
248
+ import { DiscordClient, loginWithRemoteAuth } from 'agent-messenger/discord'
249
+
250
+ const session = await loginWithRemoteAuth({
251
+ onQrUrl: (url) => {
252
+ // Render this URL as a QR code (e.g. with the `qrcode` package)
253
+ console.log('Scan this with the Discord mobile app:', url)
254
+ },
255
+ })
256
+ const client = await new DiscordClient().login({ token: session.token })
257
+ ```
258
+
232
259
  ### Real-time Events (Slack)
233
260
 
234
261
  ```typescript
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-messenger",
3
- "version": "2.25.0",
3
+ "version": "2.27.0",
4
4
  "description": "Multi-platform messaging CLI for AI agents (Slack, Discord, Teams, Webex, Telegram, Telegram Bot, WhatsApp, LINE, Instagram, KakaoTalk, Channel Talk)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -4,6 +4,10 @@ export declare function extractAction(options: {
4
4
  debug?: boolean;
5
5
  browserProfile?: string[];
6
6
  }): Promise<void>;
7
+ export declare function qrAction(options: {
8
+ pretty?: boolean;
9
+ debug?: boolean;
10
+ }): Promise<void>;
7
11
  export declare function logoutAction(options: {
8
12
  pretty?: boolean;
9
13
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/discord/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWnC,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HhB;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/E;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC/E;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED,eAAO,MAAM,WAAW,SA0BrB,CAAA"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/discord/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAanC,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HhB;AAwBD,wBAAsB,QAAQ,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+C5F;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB/E;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC/E;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAEtD;AAED,eAAO,MAAM,WAAW,SAiCrB,CAAA"}
@@ -2,9 +2,11 @@ import { Command } from 'commander';
2
2
  import { collectBrowserProfileOption } from '../../../shared/chromium/index.js';
3
3
  import { handleError } from '../../../shared/utils/error-handler.js';
4
4
  import { formatOutput } from '../../../shared/utils/output.js';
5
- import { debug } from '../../../shared/utils/stderr.js';
5
+ import { displayQR } from '../../../shared/utils/qr.js';
6
+ import { debug, info } from '../../../shared/utils/stderr.js';
6
7
  import { DiscordClient } from '../client.js';
7
8
  import { DiscordCredentialManager } from '../credential-manager.js';
9
+ import { loginWithRemoteAuth } from '../remote-auth.js';
8
10
  import { DiscordTokenExtractor } from '../token-extractor.js';
9
11
  export async function extractAction(options) {
10
12
  try {
@@ -101,6 +103,59 @@ export async function extractAction(options) {
101
103
  handleError(error);
102
104
  }
103
105
  }
106
+ async function saveTokenWithServers(token, credManager) {
107
+ const client = await new DiscordClient().login({ token });
108
+ const authInfo = await client.testAuth();
109
+ const servers = await client.listServers();
110
+ if (servers.length === 0)
111
+ return null;
112
+ const serverMap = {};
113
+ for (const server of servers) {
114
+ serverMap[server.id] = { server_id: server.id, server_name: server.name };
115
+ }
116
+ await credManager.save({ token, current_server: servers[0].id, servers: serverMap });
117
+ return {
118
+ username: authInfo.username,
119
+ servers: servers.map((s) => ({ id: s.id, name: s.name })),
120
+ current: servers[0].id,
121
+ };
122
+ }
123
+ export async function qrAction(options) {
124
+ try {
125
+ const interactive = Boolean(process.stdout.isTTY);
126
+ const debugLog = options.debug ? (msg) => debug(`[debug] ${msg}`) : undefined;
127
+ const session = await loginWithRemoteAuth({
128
+ debug: debugLog,
129
+ onQrUrl: async (url) => {
130
+ await displayQR(url, {
131
+ platform: 'Discord',
132
+ brandColor: '#5865F2',
133
+ scanInstruction: 'Scan with the Discord mobile app (Settings → Scan QR Code)',
134
+ interactive,
135
+ formatOutput,
136
+ pretty: options.pretty,
137
+ });
138
+ },
139
+ onPendingLogin: (user) => {
140
+ if (interactive)
141
+ info(`\nQR scanned by ${user.username}. Confirm the login on your phone...\n`);
142
+ },
143
+ });
144
+ const credManager = new DiscordCredentialManager();
145
+ const saved = await saveTokenWithServers(session.token, credManager);
146
+ if (!saved) {
147
+ console.log(formatOutput({
148
+ error: 'Logged in, but this account is not a member of any server.',
149
+ hint: 'Join at least one server, then run this command again.',
150
+ }, options.pretty));
151
+ process.exit(1);
152
+ }
153
+ console.log(formatOutput({ user: saved.username, servers: saved.servers.map((s) => `${s.id}/${s.name}`), current: saved.current }, options.pretty));
154
+ }
155
+ catch (error) {
156
+ handleError(error);
157
+ }
158
+ }
104
159
  export async function logoutAction(options) {
105
160
  try {
106
161
  const credManager = new DiscordCredentialManager();
@@ -157,6 +212,11 @@ export const authCommand = new Command('auth')
157
212
  .option('--debug', 'Show debug output for troubleshooting')
158
213
  .option('--browser-profile <path>', 'Additional Chromium profile/user-data directory to scan (repeatable, comma-separated supported)', collectBrowserProfileOption, [])
159
214
  .action(extractAction))
215
+ .addCommand(new Command('qr')
216
+ .description('Sign in by scanning a QR code with the Discord mobile app')
217
+ .option('--pretty', 'Pretty print JSON output')
218
+ .option('--debug', 'Show debug output for troubleshooting')
219
+ .action(qrAction))
160
220
  .addCommand(new Command('logout')
161
221
  .description('Logout from Discord')
162
222
  .option('--pretty', 'Pretty print JSON output')
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../src/platforms/discord/commands/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../src/platforms/discord/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export { DiscordClient, DiscordError } from './client.js';
2
2
  export { DiscordCredentialManager } from './credential-manager.js';
3
3
  export { DiscordListener } from './listener.js';
4
+ export { loginWithRemoteAuth } from './remote-auth.js';
5
+ export type { RemoteAuthOptions, RemoteAuthSession } from './remote-auth.js';
4
6
  export type { DiscordChannel, DiscordConfig, DiscordCredentials, DiscordDMChannel, DiscordFile, DiscordGatewayChannelEvent, DiscordGatewayEvent, DiscordGatewayGenericEvent, DiscordGatewayMemberEvent, DiscordGatewayMessageCreateEvent, DiscordGatewayMessageDeleteEvent, DiscordGatewayMessageUpdateEvent, DiscordGatewayPresenceEvent, DiscordGatewayReactionEvent, DiscordGatewayTypingEvent, DiscordGuild, DiscordGuildMember, DiscordListenerEventMap, DiscordMention, DiscordMessage, DiscordReaction, DiscordRelationship, DiscordSearchOptions, DiscordSearchResponse, DiscordSearchResult, DiscordUser, DiscordUserNote, DiscordUserProfile, } from './types.js';
5
7
  export { DiscordChannelSchema, DiscordConfigSchema, DiscordCredentialsSchema, DiscordDMChannelSchema, DiscordFileSchema, DiscordGatewayOpcode, DiscordGuildSchema, DiscordIntent, DiscordMentionSchema, DiscordMessageSchema, DiscordReactionSchema, DiscordRelationshipSchema, DiscordSearchResponseSchema, DiscordSearchResultSchema, DiscordUserSchema, } from './types.js';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/platforms/discord/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,YAAY,EACV,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,2BAA2B,EAC3B,2BAA2B,EAC3B,yBAAyB,EACzB,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/platforms/discord/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACzE,YAAY,EACV,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAC1B,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,2BAA2B,EAC3B,2BAA2B,EAC3B,yBAAyB,EACzB,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,SAAS,CAAA"}
@@ -1,5 +1,6 @@
1
1
  export { DiscordClient, DiscordError } from './client.js';
2
2
  export { DiscordCredentialManager } from './credential-manager.js';
3
3
  export { DiscordListener } from './listener.js';
4
+ export { loginWithRemoteAuth } from './remote-auth.js';
4
5
  export { DiscordChannelSchema, DiscordConfigSchema, DiscordCredentialsSchema, DiscordDMChannelSchema, DiscordFileSchema, DiscordGatewayOpcode, DiscordGuildSchema, DiscordIntent, DiscordMentionSchema, DiscordMessageSchema, DiscordReactionSchema, DiscordRelationshipSchema, DiscordSearchResponseSchema, DiscordSearchResultSchema, DiscordUserSchema, } from './types.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/platforms/discord/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AA+B5C,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/platforms/discord/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAgCnD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,SAAS,CAAA"}
@@ -3,7 +3,6 @@ import type { DiscordListenerEventMap } from './types.js';
3
3
  type EventKey = keyof DiscordListenerEventMap;
4
4
  export declare class DiscordListener {
5
5
  private client;
6
- private intents;
7
6
  private running;
8
7
  private ws;
9
8
  private emitter;
@@ -19,9 +18,7 @@ export declare class DiscordListener {
19
18
  private token;
20
19
  private cachedUser;
21
20
  private generation;
22
- constructor(client: DiscordClient, options?: {
23
- intents?: number;
24
- });
21
+ constructor(client: DiscordClient);
25
22
  start(): Promise<void>;
26
23
  stop(): void;
27
24
  on<K extends EventKey>(event: K, listener: (...args: DiscordListenerEventMap[K]) => void): this;
@@ -1 +1 @@
1
- {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../../src/platforms/discord/listener.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,uBAAuB,EAA8B,MAAM,SAAS,CAAA;AAmBlF,KAAK,QAAQ,GAAG,MAAM,uBAAuB,CAAA;AAE7C,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,oBAAoB,CAAO;IACnC,OAAO,CAAC,oBAAoB,CAA6C;IACzE,OAAO,CAAC,mBAAmB,CAA6C;IACxE,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,UAAU,CAAgD;IAClE,OAAO,CAAC,UAAU,CAAI;gBAEV,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAK3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,IAAI,IAAI,IAAI;IAeZ,EAAE,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAK/F,GAAG,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKhG,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKjG,OAAO,CAAC,SAAS;YAMH,OAAO;IA+DrB,OAAO,CAAC,aAAa;IAkDrB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,WAAW;CAWpB"}
1
+ {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../../src/platforms/discord/listener.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,uBAAuB,EAA8B,MAAM,SAAS,CAAA;AAyBlF,KAAK,QAAQ,GAAG,MAAM,uBAAuB,CAAA;AAE7C,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,oBAAoB,CAAO;IACnC,OAAO,CAAC,oBAAoB,CAA6C;IACzE,OAAO,CAAC,mBAAmB,CAA6C;IACxE,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,iBAAiB,CAAI;IAC7B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,UAAU,CAAgD;IAClE,OAAO,CAAC,UAAU,CAAI;gBAEV,MAAM,EAAE,aAAa;IAI3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,IAAI,IAAI,IAAI;IAeZ,EAAE,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAK/F,GAAG,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKhG,IAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAKjG,OAAO,CAAC,SAAS;YAMH,OAAO;IA+DrB,OAAO,CAAC,aAAa;IAkDrB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,YAAY;IAiCpB,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,WAAW;CAWpB"}
@@ -1,22 +1,26 @@
1
1
  import { EventEmitter } from 'events';
2
2
  import WebSocket from 'ws';
3
- import { DiscordGatewayOpcode, DiscordIntent } from './types.js';
3
+ import { DiscordGatewayOpcode } from './types.js';
4
4
  const GATEWAY_URL = 'wss://gateway.discord.gg/?v=10&encoding=json';
5
5
  const GATEWAY_QUERY = '?v=10&encoding=json';
6
6
  const RECONNECT_BASE_DELAY = 1_000;
7
7
  const RECONNECT_MAX_DELAY = 30_000;
8
8
  const NON_RECOVERABLE_CLOSE_CODES = [4004, 4010, 4011, 4012, 4013, 4014];
9
9
  const SESSION_RESET_CLOSE_CODES = [4007, 4009];
10
- const DEFAULT_INTENTS = DiscordIntent.Guilds |
11
- DiscordIntent.GuildMessages |
12
- DiscordIntent.GuildMessageReactions |
13
- DiscordIntent.GuildMessageTyping |
14
- DiscordIntent.DirectMessages |
15
- DiscordIntent.DirectMessageReactions |
16
- DiscordIntent.DirectMessageTyping;
10
+ // User (non-bot) gateway capabilities bitmask, mirroring discord.py-self's default set.
11
+ // Capabilities shape the READY payload; bit 10 (client_state_v2) requires client_state.guild_versions.
12
+ const USER_GATEWAY_CAPABILITIES = 16381;
13
+ // Without MESSAGE_CONTENT (1<<15), Discord blanks `content`/`embeds`/`attachments` on messages
14
+ // from OTHER users (self/DM/mention content still arrives). User sessions get all intents only
15
+ // when `intents` is omitted OR explicitly set, so we send an all-intents value to guarantee content.
16
+ const USER_GATEWAY_INTENTS = 33_554_431;
17
+ // Discord validates client_build_number against recent web-client builds; a stale value can
18
+ // yield a connected-but-degraded session that fires READY yet delivers no message events.
19
+ // Overridable via env so it can be refreshed without a release when it eventually goes stale.
20
+ const DEFAULT_CLIENT_BUILD_NUMBER = 648814;
21
+ const USER_GATEWAY_BUILD_NUMBER = Number(process.env.AGENT_DISCORD_BUILD_NUMBER) || DEFAULT_CLIENT_BUILD_NUMBER;
17
22
  export class DiscordListener {
18
23
  client;
19
- intents;
20
24
  running = false;
21
25
  ws = null;
22
26
  emitter = new EventEmitter();
@@ -32,9 +36,8 @@ export class DiscordListener {
32
36
  token = null;
33
37
  cachedUser = null;
34
38
  generation = 0;
35
- constructor(client, options) {
39
+ constructor(client) {
36
40
  this.client = client;
37
- this.intents = options?.intents ?? DEFAULT_INTENTS;
38
41
  }
39
42
  async start() {
40
43
  if (this.running)
@@ -213,12 +216,27 @@ export class DiscordListener {
213
216
  op: DiscordGatewayOpcode.Identify,
214
217
  d: {
215
218
  token: this.token,
216
- intents: this.intents,
219
+ capabilities: USER_GATEWAY_CAPABILITIES,
220
+ intents: USER_GATEWAY_INTENTS,
217
221
  properties: {
218
- os: 'linux',
219
- browser: 'agent-messenger',
220
- device: 'agent-messenger',
222
+ os: 'Linux',
223
+ browser: 'Chrome',
224
+ device: '',
225
+ system_locale: 'en-US',
226
+ browser_user_agent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36',
227
+ browser_version: '131.0.0.0',
228
+ os_version: '',
229
+ referrer: '',
230
+ referring_domain: '',
231
+ referrer_current: '',
232
+ referring_domain_current: '',
233
+ release_channel: 'stable',
234
+ client_build_number: USER_GATEWAY_BUILD_NUMBER,
235
+ client_event_source: null,
221
236
  },
237
+ presence: { status: 'online', since: 0, activities: [], afk: false },
238
+ compress: false,
239
+ client_state: { guild_versions: {} },
222
240
  },
223
241
  }));
224
242
  }
@@ -1 +1 @@
1
- {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../../src/platforms/discord/listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../../src/platforms/discord/listener.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { createPrivateKey, createPublicKey, generateKeyPairSync } from 'node:crypto';
2
+ import WebSocket from 'ws';
3
+ interface RemoteAuthUser {
4
+ id: string;
5
+ username: string;
6
+ discriminator: string;
7
+ avatar: string | null;
8
+ }
9
+ export interface RemoteAuthSession {
10
+ token: string;
11
+ user: RemoteAuthUser | null;
12
+ }
13
+ export interface RemoteAuthOptions {
14
+ onQrUrl?: (url: string) => void | Promise<void>;
15
+ onPendingLogin?: (user: RemoteAuthUser) => void;
16
+ debug?: (message: string) => void;
17
+ fetchImpl?: typeof fetch;
18
+ timeoutMs?: number;
19
+ createWebSocket?: (url: string) => WebSocket;
20
+ }
21
+ /**
22
+ * Authenticate a Discord user account via the Remote Auth ("scan QR with the mobile app") flow.
23
+ *
24
+ * The desktop side (this function) opens a WebSocket to Discord's remote-auth gateway, performs an
25
+ * RSA-OAEP key exchange, and renders a QR code. Once the user scans it with an authenticated Discord
26
+ * mobile app and confirms, Discord returns an encrypted ticket which is exchanged for the user token.
27
+ */
28
+ export declare function loginWithRemoteAuth(options?: RemoteAuthOptions): Promise<RemoteAuthSession>;
29
+ declare function encodePublicKey(publicKey: ReturnType<typeof generateKeyPairSync>['publicKey']): string;
30
+ declare function computeNonceProof(privateKey: ReturnType<typeof generateKeyPairSync>['privateKey'], encryptedNonce: string): string;
31
+ declare function parseUserPayload(payload: string): RemoteAuthUser;
32
+ declare function base64UrlNoPadding(buffer: Buffer): string;
33
+ export declare const __test: {
34
+ encodePublicKey: typeof encodePublicKey;
35
+ computeNonceProof: typeof computeNonceProof;
36
+ parseUserPayload: typeof parseUserPayload;
37
+ base64UrlNoPadding: typeof base64UrlNoPadding;
38
+ createPublicKey: typeof createPublicKey;
39
+ createPrivateKey: typeof createPrivateKey;
40
+ };
41
+ export {};
42
+ //# sourceMappingURL=remote-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-auth.d.ts","sourceRoot":"","sources":["../../../../src/platforms/discord/remote-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EAEpB,MAAM,aAAa,CAAA;AAEpB,OAAO,SAAS,MAAM,IAAI,CAAA;AAW1B,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,cAAc,GAAG,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAA;IAC/C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,CAAA;CAC7C;AAsCD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsJ/F;AAED,iBAAS,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,WAAW,CAAC,GAAG,MAAM,CAG/F;AAgBD,iBAAS,iBAAiB,CACxB,UAAU,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAChE,cAAc,EAAE,MAAM,GACrB,MAAM,CAGR;AAED,iBAAS,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAGzD;AAuCD,iBAAS,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,eAAO,MAAM,MAAM;;;;;;;CAOlB,CAAA"}