agent-messenger 1.6.0 → 1.7.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.
- package/.claude-plugin/marketplace.json +13 -0
- package/.claude-plugin/plugin.json +2 -1
- package/.env.template +5 -0
- package/README.md +3 -1
- package/dist/package.json +3 -2
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +3 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/platforms/discordbot/cli.d.ts +5 -0
- package/dist/src/platforms/discordbot/cli.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/cli.js +24 -0
- package/dist/src/platforms/discordbot/cli.js.map +1 -0
- package/dist/src/platforms/discordbot/client.d.ts +41 -0
- package/dist/src/platforms/discordbot/client.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/client.js +256 -0
- package/dist/src/platforms/discordbot/client.js.map +1 -0
- package/dist/src/platforms/discordbot/commands/auth.d.ts +30 -0
- package/dist/src/platforms/discordbot/commands/auth.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/commands/auth.js +180 -0
- package/dist/src/platforms/discordbot/commands/auth.js.map +1 -0
- package/dist/src/platforms/discordbot/commands/channel.d.ts +21 -0
- package/dist/src/platforms/discordbot/commands/channel.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/commands/channel.js +79 -0
- package/dist/src/platforms/discordbot/commands/channel.js.map +1 -0
- package/dist/src/platforms/discordbot/commands/file.d.ts +24 -0
- package/dist/src/platforms/discordbot/commands/file.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/commands/file.js +78 -0
- package/dist/src/platforms/discordbot/commands/file.js.map +1 -0
- package/dist/src/platforms/discordbot/commands/index.d.ts +10 -0
- package/dist/src/platforms/discordbot/commands/index.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/commands/index.js +10 -0
- package/dist/src/platforms/discordbot/commands/index.js.map +1 -0
- package/dist/src/platforms/discordbot/commands/message.d.ts +38 -0
- package/dist/src/platforms/discordbot/commands/message.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/commands/message.js +191 -0
- package/dist/src/platforms/discordbot/commands/message.js.map +1 -0
- package/dist/src/platforms/discordbot/commands/reaction.d.ts +14 -0
- package/dist/src/platforms/discordbot/commands/reaction.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/commands/reaction.js +65 -0
- package/dist/src/platforms/discordbot/commands/reaction.js.map +1 -0
- package/dist/src/platforms/discordbot/commands/server.d.ts +22 -0
- package/dist/src/platforms/discordbot/commands/server.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/commands/server.js +94 -0
- package/dist/src/platforms/discordbot/commands/server.js.map +1 -0
- package/dist/src/platforms/discordbot/commands/shared.d.ts +11 -0
- package/dist/src/platforms/discordbot/commands/shared.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/commands/shared.js +24 -0
- package/dist/src/platforms/discordbot/commands/shared.js.map +1 -0
- package/dist/src/platforms/discordbot/commands/snapshot.d.ts +31 -0
- package/dist/src/platforms/discordbot/commands/snapshot.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/commands/snapshot.js +79 -0
- package/dist/src/platforms/discordbot/commands/snapshot.js.map +1 -0
- package/dist/src/platforms/discordbot/commands/thread.d.ts +25 -0
- package/dist/src/platforms/discordbot/commands/thread.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/commands/thread.js +70 -0
- package/dist/src/platforms/discordbot/commands/thread.js.map +1 -0
- package/dist/src/platforms/discordbot/commands/user.d.ts +23 -0
- package/dist/src/platforms/discordbot/commands/user.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/commands/user.js +74 -0
- package/dist/src/platforms/discordbot/commands/user.js.map +1 -0
- package/dist/src/platforms/discordbot/credential-manager.d.ts +19 -0
- package/dist/src/platforms/discordbot/credential-manager.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/credential-manager.js +130 -0
- package/dist/src/platforms/discordbot/credential-manager.js.map +1 -0
- package/dist/src/platforms/discordbot/index.d.ts +4 -0
- package/dist/src/platforms/discordbot/index.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/index.js +4 -0
- package/dist/src/platforms/discordbot/index.js.map +1 -0
- package/dist/src/platforms/discordbot/types.d.ts +356 -0
- package/dist/src/platforms/discordbot/types.d.ts.map +1 -0
- package/dist/src/platforms/discordbot/types.js +93 -0
- package/dist/src/platforms/discordbot/types.js.map +1 -0
- package/dist/src/platforms/slack/types.d.ts +4 -4
- package/dist/src/platforms/slackbot/types.d.ts +22 -22
- package/docs/content/docs/index.mdx +3 -2
- package/docs/content/docs/integrations/discordbot.mdx +267 -0
- package/docs/content/docs/integrations/meta.json +1 -1
- package/docs/content/docs/quick-start.mdx +3 -2
- package/e2e/config.ts +32 -0
- package/e2e/discordbot.e2e.test.ts +323 -0
- package/e2e/helpers.ts +15 -15
- package/package.json +3 -2
- package/skills/agent-discordbot/SKILL.md +421 -0
- package/skills/agent-discordbot/references/authentication.md +208 -0
- package/skills/agent-discordbot/references/common-patterns.md +229 -0
- package/skills/agent-discordbot/templates/monitor-channel.sh +104 -0
- package/skills/agent-discordbot/templates/post-message.sh +112 -0
- package/skills/agent-discordbot/templates/server-summary.sh +109 -0
- package/src/cli.ts +4 -0
- package/src/platforms/discordbot/cli.ts +39 -0
- package/src/platforms/discordbot/client.test.ts +501 -0
- package/src/platforms/discordbot/client.ts +341 -0
- package/src/platforms/discordbot/commands/auth.test.ts +311 -0
- package/src/platforms/discordbot/commands/auth.ts +225 -0
- package/src/platforms/discordbot/commands/channel.test.ts +237 -0
- package/src/platforms/discordbot/commands/channel.ts +103 -0
- package/src/platforms/discordbot/commands/file.test.ts +143 -0
- package/src/platforms/discordbot/commands/file.ts +108 -0
- package/src/platforms/discordbot/commands/index.ts +9 -0
- package/src/platforms/discordbot/commands/message.test.ts +313 -0
- package/src/platforms/discordbot/commands/message.ts +248 -0
- package/src/platforms/discordbot/commands/reaction.test.ts +79 -0
- package/src/platforms/discordbot/commands/reaction.ts +88 -0
- package/src/platforms/discordbot/commands/server.test.ts +249 -0
- package/src/platforms/discordbot/commands/server.ts +126 -0
- package/src/platforms/discordbot/commands/shared.ts +36 -0
- package/src/platforms/discordbot/commands/snapshot.test.ts +209 -0
- package/src/platforms/discordbot/commands/snapshot.ts +115 -0
- package/src/platforms/discordbot/commands/thread.test.ts +164 -0
- package/src/platforms/discordbot/commands/thread.ts +101 -0
- package/src/platforms/discordbot/commands/user.test.ts +205 -0
- package/src/platforms/discordbot/commands/user.ts +98 -0
- package/src/platforms/discordbot/credential-manager.test.ts +309 -0
- package/src/platforms/discordbot/credential-manager.ts +161 -0
- package/src/platforms/discordbot/index.ts +23 -0
- package/src/platforms/discordbot/types.test.ts +294 -0
- package/src/platforms/discordbot/types.ts +189 -0
|
@@ -46,6 +46,19 @@
|
|
|
46
46
|
"homepage": "https://github.com/devxoul/agent-messenger",
|
|
47
47
|
"keywords": ["slack", "slackbot", "bot", "messaging", "ai-agent", "cli", "ci-cd"]
|
|
48
48
|
},
|
|
49
|
+
{
|
|
50
|
+
"name": "agent-discordbot",
|
|
51
|
+
"description": "Interact with Discord servers using bot tokens. Designed for server-side and CI/CD integrations. Supports message operations, channel management, reactions, and multi-bot/multi-guild credential management.",
|
|
52
|
+
"version": "0.1.0",
|
|
53
|
+
"author": {
|
|
54
|
+
"name": "devxoul",
|
|
55
|
+
"url": "https://github.com/devxoul"
|
|
56
|
+
},
|
|
57
|
+
"source": "./",
|
|
58
|
+
"category": "productivity",
|
|
59
|
+
"homepage": "https://github.com/devxoul/agent-messenger",
|
|
60
|
+
"keywords": ["discord", "discordbot", "bot", "messaging", "ai-agent", "cli", "ci-cd"]
|
|
61
|
+
},
|
|
49
62
|
{
|
|
50
63
|
"name": "agent-teams",
|
|
51
64
|
"description": "Interact with Microsoft Teams through a CLI interface. Features credential extraction from Teams desktop app and browser, multi-team support, message operations, channel management, reactions, and file uploads.",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-messenger",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "Messaging platform interaction skills for AI agents. Interact with Slack, Discord, and Microsoft Teams - send messages, read channels, manage reactions, upload files, and more through simple CLI interfaces.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "devxoul",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"./skills/agent-slack",
|
|
26
26
|
"./skills/agent-slackbot",
|
|
27
27
|
"./skills/agent-discord",
|
|
28
|
+
"./skills/agent-discordbot",
|
|
28
29
|
"./skills/agent-teams"
|
|
29
30
|
]
|
|
30
31
|
}
|
package/.env.template
CHANGED
|
@@ -13,6 +13,11 @@ E2E_SLACKBOT_WORKSPACE_NAME=Agent Messenger
|
|
|
13
13
|
E2E_DISCORD_TOKEN=
|
|
14
14
|
E2E_DISCORD_SERVER_ID=1467039439770357844
|
|
15
15
|
|
|
16
|
+
# DiscordBot (bot token)
|
|
17
|
+
E2E_DISCORDBOT_TOKEN=
|
|
18
|
+
E2E_DISCORDBOT_SERVER_ID=1467039439770357844
|
|
19
|
+
E2E_DISCORDBOT_SERVER_NAME=Agent Messenger
|
|
20
|
+
|
|
16
21
|
# Teams
|
|
17
22
|
E2E_TEAMS_TEAM_ID=
|
|
18
23
|
E2E_TEAMS_TEAM_NAME=Agent Messenger
|
package/README.md
CHANGED
|
@@ -28,6 +28,7 @@ This installs:
|
|
|
28
28
|
- `agent-slack` — Slack CLI (user token, zero-config)
|
|
29
29
|
- `agent-slackbot` — Slack Bot CLI (bot token, for server-side/CI/CD)
|
|
30
30
|
- `agent-discord` — Discord CLI
|
|
31
|
+
- `agent-discordbot` — Discord Bot CLI (bot token, for server-side/CI/CD)
|
|
31
32
|
- `agent-teams` — Microsoft Teams CLI
|
|
32
33
|
|
|
33
34
|
## 🧠 Agent Skills
|
|
@@ -100,7 +101,7 @@ That's it. Credentials are extracted automatically from your Slack desktop app o
|
|
|
100
101
|
| Saved items | ✅ | — | — |
|
|
101
102
|
| Unread messages | ✅ | — | — |
|
|
102
103
|
| Sidebar sections | ✅ | — | — |
|
|
103
|
-
| Bot support | ✅ |
|
|
104
|
+
| Bot support | ✅ | ✅ | — |
|
|
104
105
|
|
|
105
106
|
> ⚠️ **Teams tokens expire in 60-90 minutes.** Re-run `agent-teams auth extract` to refresh. See [Teams Guide](skills/agent-teams/SKILL.md) for details.
|
|
106
107
|
|
|
@@ -109,6 +110,7 @@ That's it. Credentials are extracted automatically from your Slack desktop app o
|
|
|
109
110
|
- **[Slack Guide](skills/agent-slack/SKILL.md)** — Full command reference for Slack
|
|
110
111
|
- **[Slack Bot Guide](skills/agent-slackbot/SKILL.md)** — Bot token integration for server-side and CI/CD
|
|
111
112
|
- **[Discord Guide](skills/agent-discord/SKILL.md)** — Full command reference for Discord
|
|
113
|
+
- **[Discord Bot Guide](skills/agent-discordbot/SKILL.md)** — Bot token integration for server-side and CI/CD
|
|
112
114
|
- **[Teams Guide](skills/agent-teams/SKILL.md)** — Full command reference for Microsoft Teams
|
|
113
115
|
|
|
114
116
|
## 💡 Use Cases
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-messenger",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"description": "Multi-platform messaging CLI for AI agents (Slack, Discord, Teams)",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
"agent-slack": "./src/platforms/slack/cli.ts",
|
|
16
16
|
"agent-discord": "./src/platforms/discord/cli.ts",
|
|
17
17
|
"agent-teams": "./src/platforms/teams/cli.ts",
|
|
18
|
-
"agent-slackbot": "./src/platforms/slackbot/cli.ts"
|
|
18
|
+
"agent-slackbot": "./src/platforms/slackbot/cli.ts",
|
|
19
|
+
"agent-discordbot": "./src/platforms/discordbot/cli.ts"
|
|
19
20
|
},
|
|
20
21
|
"scripts": {
|
|
21
22
|
"build": "tsc && tsc-alias --resolve-full-paths",
|
package/dist/src/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOnC,QAAA,MAAM,OAAO,SAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOnC,QAAA,MAAM,OAAO,SAAgB,CAAA;AA2B7B,eAAe,OAAO,CAAA"}
|
package/dist/src/cli.js
CHANGED
|
@@ -21,6 +21,9 @@ program.command('teams', 'Interact with Microsoft Teams', {
|
|
|
21
21
|
program.command('slackbot', 'Interact with Slack using bot tokens', {
|
|
22
22
|
executableFile: join(__dirname, 'platforms', 'slackbot', `cli${ext}`),
|
|
23
23
|
});
|
|
24
|
+
program.command('discordbot', 'Interact with Discord using bot tokens', {
|
|
25
|
+
executableFile: join(__dirname, 'platforms', 'discordbot', `cli${ext}`),
|
|
26
|
+
});
|
|
24
27
|
program.parse(process.argv);
|
|
25
28
|
export default program;
|
|
26
29
|
//# sourceMappingURL=cli.js.map
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAEvD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AACrC,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;AAEtD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AAE9G,0CAA0C;AAC1C,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,gCAAgC,EAAE;IACzD,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;CACnE,CAAC,CAAA;AAEF,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,8BAA8B,EAAE;IACzD,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC;CACrE,CAAC,CAAA;AAEF,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,+BAA+B,EAAE;IACxD,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;CACnE,CAAC,CAAA;AAEF,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,sCAAsC,EAAE;IAClE,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,EAAE,CAAC;CACtE,CAAC,CAAA;AAEF,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAE3B,eAAe,OAAO,CAAA"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAEvD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AACrC,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;AAEtD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AAE9G,0CAA0C;AAC1C,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,gCAAgC,EAAE;IACzD,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;CACnE,CAAC,CAAA;AAEF,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,8BAA8B,EAAE;IACzD,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC;CACrE,CAAC,CAAA;AAEF,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,+BAA+B,EAAE;IACxD,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,CAAC;CACnE,CAAC,CAAA;AAEF,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,sCAAsC,EAAE;IAClE,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,EAAE,CAAC;CACtE,CAAC,CAAA;AAEF,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,wCAAwC,EAAE;IACtE,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,GAAG,EAAE,CAAC;CACxE,CAAC,CAAA;AAEF,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAE3B,eAAe,OAAO,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../src/platforms/discordbot/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAcnC,QAAA,MAAM,OAAO,SAAgB,CAAA;AAsB7B,eAAe,OAAO,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
import { Command } from 'commander';
|
|
3
|
+
import pkg from '../../../package.json' with { type: 'json' };
|
|
4
|
+
import { authCommand, channelCommand, fileCommand, messageCommand, reactionCommand, serverCommand, snapshotCommand, threadCommand, userCommand, } from './commands/index.js';
|
|
5
|
+
const program = new Command();
|
|
6
|
+
program
|
|
7
|
+
.name('agent-discordbot')
|
|
8
|
+
.description('CLI tool for Discord bot integration using bot tokens')
|
|
9
|
+
.version(pkg.version)
|
|
10
|
+
.option('--pretty', 'Pretty-print JSON output')
|
|
11
|
+
.option('--bot <id>', 'Bot ID to use')
|
|
12
|
+
.option('--server <id>', 'Server ID to use');
|
|
13
|
+
program.addCommand(authCommand);
|
|
14
|
+
program.addCommand(serverCommand);
|
|
15
|
+
program.addCommand(messageCommand);
|
|
16
|
+
program.addCommand(channelCommand);
|
|
17
|
+
program.addCommand(userCommand);
|
|
18
|
+
program.addCommand(reactionCommand);
|
|
19
|
+
program.addCommand(fileCommand);
|
|
20
|
+
program.addCommand(threadCommand);
|
|
21
|
+
program.addCommand(snapshotCommand);
|
|
22
|
+
program.parseAsync(process.argv);
|
|
23
|
+
export default program;
|
|
24
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../src/platforms/discordbot/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,GAAG,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AAC7D,OAAO,EACL,WAAW,EACX,cAAc,EACd,WAAW,EACX,cAAc,EACd,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,kBAAkB,CAAA;AAEzB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,kBAAkB,CAAC;KACxB,WAAW,CAAC,uDAAuD,CAAC;KACpE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;KACpB,MAAM,CAAC,UAAU,EAAE,0BAA0B,CAAC;KAC9C,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC;KACrC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAA;AAE9C,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AAC/B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;AACjC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;AAClC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;AAClC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AAC/B,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;AACnC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;AAC/B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;AACjC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;AAEnC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AAEhC,eAAe,OAAO,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { DiscordChannel, DiscordFile, DiscordGuild, DiscordMessage, DiscordUser } from './types.js';
|
|
2
|
+
export declare class DiscordBotClient {
|
|
3
|
+
private token;
|
|
4
|
+
private buckets;
|
|
5
|
+
private globalRateLimitUntil;
|
|
6
|
+
constructor(token: string);
|
|
7
|
+
private getHeaders;
|
|
8
|
+
private getBucketKey;
|
|
9
|
+
private waitForRateLimit;
|
|
10
|
+
private updateBucket;
|
|
11
|
+
private handleRateLimitResponse;
|
|
12
|
+
private sleep;
|
|
13
|
+
private handleErrorResponse;
|
|
14
|
+
private request;
|
|
15
|
+
private requestFormData;
|
|
16
|
+
testAuth(): Promise<DiscordUser>;
|
|
17
|
+
listGuilds(): Promise<DiscordGuild[]>;
|
|
18
|
+
getGuild(guildId: string): Promise<DiscordGuild>;
|
|
19
|
+
listChannels(guildId: string): Promise<DiscordChannel[]>;
|
|
20
|
+
getChannel(channelId: string): Promise<DiscordChannel>;
|
|
21
|
+
sendMessage(channelId: string, content: string, options?: {
|
|
22
|
+
thread_id?: string;
|
|
23
|
+
}): Promise<DiscordMessage>;
|
|
24
|
+
getMessages(channelId: string, limit?: number): Promise<DiscordMessage[]>;
|
|
25
|
+
getMessage(channelId: string, messageId: string): Promise<DiscordMessage>;
|
|
26
|
+
editMessage(channelId: string, messageId: string, content: string): Promise<DiscordMessage>;
|
|
27
|
+
deleteMessage(channelId: string, messageId: string): Promise<void>;
|
|
28
|
+
addReaction(channelId: string, messageId: string, emoji: string): Promise<void>;
|
|
29
|
+
removeReaction(channelId: string, messageId: string, emoji: string): Promise<void>;
|
|
30
|
+
listUsers(guildId: string): Promise<DiscordUser[]>;
|
|
31
|
+
getUser(userId: string): Promise<DiscordUser>;
|
|
32
|
+
uploadFile(channelId: string, filePath: string): Promise<DiscordFile>;
|
|
33
|
+
listFiles(channelId: string): Promise<DiscordFile[]>;
|
|
34
|
+
createThread(channelId: string, name: string, options?: {
|
|
35
|
+
auto_archive_duration?: number;
|
|
36
|
+
rate_limit_per_user?: number;
|
|
37
|
+
}): Promise<DiscordChannel>;
|
|
38
|
+
archiveThread(threadId: string, archived?: boolean): Promise<DiscordChannel>;
|
|
39
|
+
resolveChannel(guildId: string, channel: string): Promise<string>;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/platforms/discordbot/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAarG,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,oBAAoB,CAAY;gBAE5B,KAAK,EAAE,MAAM;IAOzB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,YAAY;YASN,gBAAgB;IAa9B,OAAO,CAAC,YAAY;YAcN,uBAAuB;IAarC,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,mBAAmB;YAOb,OAAO;YA8DP,eAAe;IAwDvB,QAAQ,IAAI,OAAO,CAAC,WAAW,CAAC;IAIhC,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAIrC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIhD,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAIxD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAItD,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ1G,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAI7E,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAIzE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAI3F,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/E,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlF,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAQlD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAI7C,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAmBrE,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAepD,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,qBAAqB,CAAC,EAAE,MAAM,CAAA;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAC7B,GACA,OAAO,CAAC,cAAc,CAAC;IAOpB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAIlF,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAUxE"}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { DiscordBotError } from './types.js';
|
|
3
|
+
const BASE_URL = 'https://discord.com/api/v10';
|
|
4
|
+
const MAX_RETRIES = 3;
|
|
5
|
+
const BASE_BACKOFF_MS = 100;
|
|
6
|
+
export class DiscordBotClient {
|
|
7
|
+
token;
|
|
8
|
+
buckets = new Map();
|
|
9
|
+
globalRateLimitUntil = 0;
|
|
10
|
+
constructor(token) {
|
|
11
|
+
if (!token) {
|
|
12
|
+
throw new DiscordBotError('Token is required', 'missing_token');
|
|
13
|
+
}
|
|
14
|
+
this.token = token;
|
|
15
|
+
}
|
|
16
|
+
getHeaders() {
|
|
17
|
+
return {
|
|
18
|
+
Authorization: `Bot ${this.token}`,
|
|
19
|
+
'User-Agent': 'DiscordBot (https://github.com/devxoul/agent-messenger, 1.0)',
|
|
20
|
+
'Content-Type': 'application/json',
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
getBucketKey(method, path) {
|
|
24
|
+
const normalized = path
|
|
25
|
+
.replace(/\/channels\/\d+/, '/channels/{channel_id}')
|
|
26
|
+
.replace(/\/guilds\/\d+/, '/guilds/{guild_id}')
|
|
27
|
+
.replace(/\/users\/\d+/, '/users/{user_id}')
|
|
28
|
+
.replace(/\/messages\/\d+/, '/messages/{message_id}');
|
|
29
|
+
return `${method}:${normalized}`;
|
|
30
|
+
}
|
|
31
|
+
async waitForRateLimit(bucketKey) {
|
|
32
|
+
const now = Date.now();
|
|
33
|
+
if (this.globalRateLimitUntil > now) {
|
|
34
|
+
await this.sleep(this.globalRateLimitUntil - now);
|
|
35
|
+
}
|
|
36
|
+
const bucket = this.buckets.get(bucketKey);
|
|
37
|
+
if (bucket && bucket.remaining === 0 && bucket.resetAt * 1000 > now) {
|
|
38
|
+
await this.sleep(bucket.resetAt * 1000 - now);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
updateBucket(bucketKey, response) {
|
|
42
|
+
const remaining = response.headers.get('X-RateLimit-Remaining');
|
|
43
|
+
const reset = response.headers.get('X-RateLimit-Reset');
|
|
44
|
+
const bucketHash = response.headers.get('X-RateLimit-Bucket');
|
|
45
|
+
if (remaining !== null && reset !== null && bucketHash !== null) {
|
|
46
|
+
this.buckets.set(bucketKey, {
|
|
47
|
+
remaining: parseInt(remaining, 10),
|
|
48
|
+
resetAt: parseFloat(reset),
|
|
49
|
+
bucketHash,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async handleRateLimitResponse(response) {
|
|
54
|
+
const retryAfter = response.headers.get('Retry-After');
|
|
55
|
+
const isGlobal = response.headers.get('X-RateLimit-Global') === 'true';
|
|
56
|
+
const waitMs = parseFloat(retryAfter || '1') * 1000;
|
|
57
|
+
if (isGlobal) {
|
|
58
|
+
this.globalRateLimitUntil = Date.now() + waitMs;
|
|
59
|
+
}
|
|
60
|
+
await this.sleep(waitMs);
|
|
61
|
+
return waitMs;
|
|
62
|
+
}
|
|
63
|
+
sleep(ms) {
|
|
64
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
65
|
+
}
|
|
66
|
+
handleErrorResponse(response, errorBody) {
|
|
67
|
+
throw new DiscordBotError(errorBody.message || `HTTP ${response.status}`, errorBody.code?.toString() || `http_${response.status}`);
|
|
68
|
+
}
|
|
69
|
+
async request(method, path, body) {
|
|
70
|
+
const url = `${BASE_URL}${path}`;
|
|
71
|
+
const bucketKey = this.getBucketKey(method, path);
|
|
72
|
+
let lastError;
|
|
73
|
+
for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
|
|
74
|
+
await this.waitForRateLimit(bucketKey);
|
|
75
|
+
const headers = this.getHeaders();
|
|
76
|
+
const options = {
|
|
77
|
+
method,
|
|
78
|
+
headers,
|
|
79
|
+
};
|
|
80
|
+
if (body !== undefined) {
|
|
81
|
+
options.body = JSON.stringify(body);
|
|
82
|
+
}
|
|
83
|
+
let response;
|
|
84
|
+
try {
|
|
85
|
+
response = await fetch(url, options);
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
89
|
+
if (attempt < MAX_RETRIES) {
|
|
90
|
+
await this.sleep(BASE_BACKOFF_MS * 2 ** attempt);
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
throw new DiscordBotError(`Network error: ${lastError.message}`, 'network_error');
|
|
94
|
+
}
|
|
95
|
+
this.updateBucket(bucketKey, response);
|
|
96
|
+
if (response.status === 429) {
|
|
97
|
+
if (attempt < MAX_RETRIES) {
|
|
98
|
+
await this.handleRateLimitResponse(response);
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
const errorBody = await response.json().catch(() => ({}));
|
|
102
|
+
throw new DiscordBotError(errorBody.message || 'Rate limited', 'rate_limited');
|
|
103
|
+
}
|
|
104
|
+
if (response.status >= 500 && attempt < MAX_RETRIES) {
|
|
105
|
+
await this.sleep(BASE_BACKOFF_MS * 2 ** attempt);
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
if (!response.ok) {
|
|
109
|
+
const errorBody = await response.json().catch(() => ({}));
|
|
110
|
+
this.handleErrorResponse(response, errorBody);
|
|
111
|
+
}
|
|
112
|
+
if (response.status === 204) {
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
return response.json();
|
|
116
|
+
}
|
|
117
|
+
throw lastError || new DiscordBotError('Request failed after retries', 'max_retries');
|
|
118
|
+
}
|
|
119
|
+
async requestFormData(path, formData) {
|
|
120
|
+
const url = `${BASE_URL}${path}`;
|
|
121
|
+
const bucketKey = this.getBucketKey('POST', path);
|
|
122
|
+
let lastError;
|
|
123
|
+
for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
|
|
124
|
+
await this.waitForRateLimit(bucketKey);
|
|
125
|
+
const headers = {
|
|
126
|
+
Authorization: `Bot ${this.token}`,
|
|
127
|
+
'User-Agent': 'DiscordBot (https://github.com/devxoul/agent-messenger, 1.0)',
|
|
128
|
+
};
|
|
129
|
+
let response;
|
|
130
|
+
try {
|
|
131
|
+
response = await fetch(url, {
|
|
132
|
+
method: 'POST',
|
|
133
|
+
headers,
|
|
134
|
+
body: formData,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
139
|
+
if (attempt < MAX_RETRIES) {
|
|
140
|
+
await this.sleep(BASE_BACKOFF_MS * 2 ** attempt);
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
throw new DiscordBotError(`Network error: ${lastError.message}`, 'network_error');
|
|
144
|
+
}
|
|
145
|
+
this.updateBucket(bucketKey, response);
|
|
146
|
+
if (response.status === 429) {
|
|
147
|
+
if (attempt < MAX_RETRIES) {
|
|
148
|
+
await this.handleRateLimitResponse(response);
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
const errorBody = await response.json().catch(() => ({}));
|
|
152
|
+
throw new DiscordBotError(errorBody.message || 'Rate limited', 'rate_limited');
|
|
153
|
+
}
|
|
154
|
+
if (response.status >= 500 && attempt < MAX_RETRIES) {
|
|
155
|
+
await this.sleep(BASE_BACKOFF_MS * 2 ** attempt);
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
if (!response.ok) {
|
|
159
|
+
const errorBody = await response.json().catch(() => ({}));
|
|
160
|
+
this.handleErrorResponse(response, errorBody);
|
|
161
|
+
}
|
|
162
|
+
return response.json();
|
|
163
|
+
}
|
|
164
|
+
throw lastError || new DiscordBotError('Request failed after retries', 'max_retries');
|
|
165
|
+
}
|
|
166
|
+
async testAuth() {
|
|
167
|
+
return this.request('GET', '/users/@me');
|
|
168
|
+
}
|
|
169
|
+
async listGuilds() {
|
|
170
|
+
return this.request('GET', '/users/@me/guilds');
|
|
171
|
+
}
|
|
172
|
+
async getGuild(guildId) {
|
|
173
|
+
return this.request('GET', `/guilds/${guildId}`);
|
|
174
|
+
}
|
|
175
|
+
async listChannels(guildId) {
|
|
176
|
+
return this.request('GET', `/guilds/${guildId}/channels`);
|
|
177
|
+
}
|
|
178
|
+
async getChannel(channelId) {
|
|
179
|
+
return this.request('GET', `/channels/${channelId}`);
|
|
180
|
+
}
|
|
181
|
+
async sendMessage(channelId, content, options) {
|
|
182
|
+
const body = { content };
|
|
183
|
+
if (options?.thread_id) {
|
|
184
|
+
body.thread_id = options.thread_id;
|
|
185
|
+
}
|
|
186
|
+
return this.request('POST', `/channels/${channelId}/messages`, body);
|
|
187
|
+
}
|
|
188
|
+
async getMessages(channelId, limit = 50) {
|
|
189
|
+
return this.request('GET', `/channels/${channelId}/messages?limit=${limit}`);
|
|
190
|
+
}
|
|
191
|
+
async getMessage(channelId, messageId) {
|
|
192
|
+
return this.request('GET', `/channels/${channelId}/messages/${messageId}`);
|
|
193
|
+
}
|
|
194
|
+
async editMessage(channelId, messageId, content) {
|
|
195
|
+
return this.request('PATCH', `/channels/${channelId}/messages/${messageId}`, { content });
|
|
196
|
+
}
|
|
197
|
+
async deleteMessage(channelId, messageId) {
|
|
198
|
+
return this.request('DELETE', `/channels/${channelId}/messages/${messageId}`);
|
|
199
|
+
}
|
|
200
|
+
async addReaction(channelId, messageId, emoji) {
|
|
201
|
+
const encodedEmoji = encodeURIComponent(emoji);
|
|
202
|
+
return this.request('PUT', `/channels/${channelId}/messages/${messageId}/reactions/${encodedEmoji}/@me`);
|
|
203
|
+
}
|
|
204
|
+
async removeReaction(channelId, messageId, emoji) {
|
|
205
|
+
const encodedEmoji = encodeURIComponent(emoji);
|
|
206
|
+
return this.request('DELETE', `/channels/${channelId}/messages/${messageId}/reactions/${encodedEmoji}/@me`);
|
|
207
|
+
}
|
|
208
|
+
async listUsers(guildId) {
|
|
209
|
+
const members = await this.request('GET', `/guilds/${guildId}/members?limit=1000`);
|
|
210
|
+
return members.map((m) => m.user);
|
|
211
|
+
}
|
|
212
|
+
async getUser(userId) {
|
|
213
|
+
return this.request('GET', `/users/${userId}`);
|
|
214
|
+
}
|
|
215
|
+
async uploadFile(channelId, filePath) {
|
|
216
|
+
const fileBuffer = await readFile(filePath);
|
|
217
|
+
const filename = filePath.split('/').pop() || 'file';
|
|
218
|
+
const formData = new FormData();
|
|
219
|
+
formData.append('files[0]', new Blob([fileBuffer]), filename);
|
|
220
|
+
const message = await this.requestFormData(`/channels/${channelId}/messages`, formData);
|
|
221
|
+
if (!message.attachments || message.attachments.length === 0) {
|
|
222
|
+
throw new DiscordBotError('Upload succeeded but no attachments returned', 'no_attachments');
|
|
223
|
+
}
|
|
224
|
+
return message.attachments[0];
|
|
225
|
+
}
|
|
226
|
+
async listFiles(channelId) {
|
|
227
|
+
const messages = await this.request('GET', `/channels/${channelId}/messages?limit=100`);
|
|
228
|
+
const files = [];
|
|
229
|
+
for (const msg of messages) {
|
|
230
|
+
if (msg.attachments && msg.attachments.length > 0) {
|
|
231
|
+
files.push(...msg.attachments);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
return files;
|
|
235
|
+
}
|
|
236
|
+
async createThread(channelId, name, options) {
|
|
237
|
+
return this.request('POST', `/channels/${channelId}/threads`, {
|
|
238
|
+
name,
|
|
239
|
+
...options,
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
async archiveThread(threadId, archived = true) {
|
|
243
|
+
return this.request('PATCH', `/channels/${threadId}`, { archived });
|
|
244
|
+
}
|
|
245
|
+
async resolveChannel(guildId, channel) {
|
|
246
|
+
if (/^\d+$/.test(channel))
|
|
247
|
+
return channel;
|
|
248
|
+
const channels = await this.listChannels(guildId);
|
|
249
|
+
const found = channels.find((c) => c.name === channel || c.name === channel.replace(/^#/, ''));
|
|
250
|
+
if (!found) {
|
|
251
|
+
throw new DiscordBotError(`Channel not found: "${channel}"`, 'channel_not_found');
|
|
252
|
+
}
|
|
253
|
+
return found.id;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/platforms/discordbot/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { DiscordBotCredentialManager } from '../credential-manager.js';
|
|
3
|
+
interface ActionOptions {
|
|
4
|
+
pretty?: boolean;
|
|
5
|
+
bot?: string;
|
|
6
|
+
_credManager?: DiscordBotCredentialManager;
|
|
7
|
+
}
|
|
8
|
+
interface ActionResult {
|
|
9
|
+
success?: boolean;
|
|
10
|
+
error?: string;
|
|
11
|
+
bot_id?: string;
|
|
12
|
+
bot_name?: string;
|
|
13
|
+
server_id?: string;
|
|
14
|
+
server_name?: string;
|
|
15
|
+
valid?: boolean;
|
|
16
|
+
bots?: Array<{
|
|
17
|
+
bot_id: string;
|
|
18
|
+
bot_name: string;
|
|
19
|
+
is_current: boolean;
|
|
20
|
+
}>;
|
|
21
|
+
}
|
|
22
|
+
export declare function setAction(token: string, options: ActionOptions): Promise<ActionResult>;
|
|
23
|
+
export declare function clearAction(options: ActionOptions): Promise<ActionResult>;
|
|
24
|
+
export declare function statusAction(options: ActionOptions): Promise<ActionResult>;
|
|
25
|
+
export declare function listAction(options: ActionOptions): Promise<ActionResult>;
|
|
26
|
+
export declare function useAction(botId: string, options: ActionOptions): Promise<ActionResult>;
|
|
27
|
+
export declare function removeAction(botId: string, options: ActionOptions): Promise<ActionResult>;
|
|
28
|
+
export declare const authCommand: Command;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../src/platforms/discordbot/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAEnE,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,2BAA2B,CAAA;CAC3C;AAED,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,KAAK,CAAC;QACX,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,MAAM,CAAA;QAChB,UAAU,EAAE,OAAO,CAAA;KACpB,CAAC,CAAA;CACH;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAkC5F;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAQ/E;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAmChF;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAe9E;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAoB5F;AAED,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAa/F;AAOD,eAAO,MAAM,WAAW,SAwDrB,CAAA"}
|