discord-ops 0.1.0 → 0.2.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/CHANGELOG.md +6 -0
- package/README.md +59 -5
- package/dist/cli/index.js +31 -13
- package/dist/cli/index.js.map +1 -1
- package/dist/client.d.ts +13 -11
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +65 -25
- package/dist/client.js.map +1 -1
- package/dist/config/index.d.ts +7 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +18 -3
- package/dist/config/index.js.map +1 -1
- package/dist/config/schema.d.ts +8 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +1 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/routing/resolver.d.ts +2 -1
- package/dist/routing/resolver.d.ts.map +1 -1
- package/dist/routing/resolver.js +2 -0
- package/dist/routing/resolver.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +46 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/audit/index.d.ts +2 -0
- package/dist/tools/audit/index.d.ts.map +1 -0
- package/dist/tools/audit/index.js +2 -0
- package/dist/tools/audit/index.js.map +1 -0
- package/dist/tools/audit/query-audit-log.d.ts +3 -0
- package/dist/tools/audit/query-audit-log.d.ts.map +1 -0
- package/dist/tools/audit/query-audit-log.js +60 -0
- package/dist/tools/audit/query-audit-log.js.map +1 -0
- package/dist/tools/channels/create-channel.d.ts.map +1 -1
- package/dist/tools/channels/create-channel.js +4 -1
- package/dist/tools/channels/create-channel.js.map +1 -1
- package/dist/tools/channels/delete-channel.d.ts.map +1 -1
- package/dist/tools/channels/delete-channel.js +4 -1
- package/dist/tools/channels/delete-channel.js.map +1 -1
- package/dist/tools/channels/edit-channel.d.ts.map +1 -1
- package/dist/tools/channels/edit-channel.js +4 -1
- package/dist/tools/channels/edit-channel.js.map +1 -1
- package/dist/tools/channels/get-channel.d.ts.map +1 -1
- package/dist/tools/channels/get-channel.js +4 -1
- package/dist/tools/channels/get-channel.js.map +1 -1
- package/dist/tools/channels/index.d.ts +2 -0
- package/dist/tools/channels/index.d.ts.map +1 -1
- package/dist/tools/channels/index.js +2 -0
- package/dist/tools/channels/index.js.map +1 -1
- package/dist/tools/channels/list-channels.d.ts.map +1 -1
- package/dist/tools/channels/list-channels.js +4 -1
- package/dist/tools/channels/list-channels.js.map +1 -1
- package/dist/tools/channels/purge-messages.d.ts +3 -0
- package/dist/tools/channels/purge-messages.d.ts.map +1 -0
- package/dist/tools/channels/purge-messages.js +41 -0
- package/dist/tools/channels/purge-messages.js.map +1 -0
- package/dist/tools/channels/set-slowmode.d.ts +3 -0
- package/dist/tools/channels/set-slowmode.d.ts.map +1 -0
- package/dist/tools/channels/set-slowmode.js +36 -0
- package/dist/tools/channels/set-slowmode.js.map +1 -0
- package/dist/tools/guilds/get-guild.d.ts.map +1 -1
- package/dist/tools/guilds/get-guild.js +4 -1
- package/dist/tools/guilds/get-guild.js.map +1 -1
- package/dist/tools/guilds/list-guilds.d.ts.map +1 -1
- package/dist/tools/guilds/list-guilds.js +11 -4
- package/dist/tools/guilds/list-guilds.js.map +1 -1
- package/dist/tools/health-check.d.ts.map +1 -1
- package/dist/tools/health-check.js +15 -2
- package/dist/tools/health-check.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +47 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/members/get-member.d.ts.map +1 -1
- package/dist/tools/members/get-member.js +4 -1
- package/dist/tools/members/get-member.js.map +1 -1
- package/dist/tools/members/list-members.d.ts.map +1 -1
- package/dist/tools/members/list-members.js +4 -1
- package/dist/tools/members/list-members.js.map +1 -1
- package/dist/tools/messaging/add-reaction.js +1 -1
- package/dist/tools/messaging/add-reaction.js.map +1 -1
- package/dist/tools/messaging/delete-message.d.ts.map +1 -1
- package/dist/tools/messaging/delete-message.js +1 -1
- package/dist/tools/messaging/delete-message.js.map +1 -1
- package/dist/tools/messaging/edit-message.js +1 -1
- package/dist/tools/messaging/edit-message.js.map +1 -1
- package/dist/tools/messaging/get-messages.js +1 -1
- package/dist/tools/messaging/get-messages.js.map +1 -1
- package/dist/tools/messaging/send-message.d.ts.map +1 -1
- package/dist/tools/messaging/send-message.js +2 -4
- package/dist/tools/messaging/send-message.js.map +1 -1
- package/dist/tools/moderation/ban-member.d.ts +3 -0
- package/dist/tools/moderation/ban-member.d.ts.map +1 -0
- package/dist/tools/moderation/ban-member.js +48 -0
- package/dist/tools/moderation/ban-member.js.map +1 -0
- package/dist/tools/moderation/index.d.ts +5 -0
- package/dist/tools/moderation/index.d.ts.map +1 -0
- package/dist/tools/moderation/index.js +5 -0
- package/dist/tools/moderation/index.js.map +1 -0
- package/dist/tools/moderation/kick-member.d.ts +3 -0
- package/dist/tools/moderation/kick-member.d.ts.map +1 -0
- package/dist/tools/moderation/kick-member.js +40 -0
- package/dist/tools/moderation/kick-member.js.map +1 -0
- package/dist/tools/moderation/timeout-member.d.ts +3 -0
- package/dist/tools/moderation/timeout-member.d.ts.map +1 -0
- package/dist/tools/moderation/timeout-member.js +47 -0
- package/dist/tools/moderation/timeout-member.js.map +1 -0
- package/dist/tools/moderation/unban-member.d.ts +3 -0
- package/dist/tools/moderation/unban-member.d.ts.map +1 -0
- package/dist/tools/moderation/unban-member.js +30 -0
- package/dist/tools/moderation/unban-member.js.map +1 -0
- package/dist/tools/roles/assign-role.d.ts +3 -0
- package/dist/tools/roles/assign-role.d.ts.map +1 -0
- package/dist/tools/roles/assign-role.js +40 -0
- package/dist/tools/roles/assign-role.js.map +1 -0
- package/dist/tools/roles/create-role.d.ts +3 -0
- package/dist/tools/roles/create-role.d.ts.map +1 -0
- package/dist/tools/roles/create-role.js +50 -0
- package/dist/tools/roles/create-role.js.map +1 -0
- package/dist/tools/roles/delete-role.d.ts +3 -0
- package/dist/tools/roles/delete-role.d.ts.map +1 -0
- package/dist/tools/roles/delete-role.js +32 -0
- package/dist/tools/roles/delete-role.js.map +1 -0
- package/dist/tools/roles/edit-role.d.ts +3 -0
- package/dist/tools/roles/edit-role.d.ts.map +1 -0
- package/dist/tools/roles/edit-role.js +52 -0
- package/dist/tools/roles/edit-role.js.map +1 -0
- package/dist/tools/roles/index.d.ts +4 -0
- package/dist/tools/roles/index.d.ts.map +1 -1
- package/dist/tools/roles/index.js +4 -0
- package/dist/tools/roles/index.js.map +1 -1
- package/dist/tools/roles/list-roles.d.ts.map +1 -1
- package/dist/tools/roles/list-roles.js +6 -2
- package/dist/tools/roles/list-roles.js.map +1 -1
- package/dist/tools/schema.d.ts +9 -0
- package/dist/tools/schema.d.ts.map +1 -0
- package/dist/tools/schema.js +13 -0
- package/dist/tools/schema.js.map +1 -0
- package/dist/tools/threads/create-thread.js +1 -1
- package/dist/tools/threads/create-thread.js.map +1 -1
- package/dist/tools/threads/list-threads.d.ts.map +1 -1
- package/dist/tools/threads/list-threads.js +4 -1
- package/dist/tools/threads/list-threads.js.map +1 -1
- package/dist/tools/webhooks/create-webhook.d.ts +3 -0
- package/dist/tools/webhooks/create-webhook.d.ts.map +1 -0
- package/dist/tools/webhooks/create-webhook.js +38 -0
- package/dist/tools/webhooks/create-webhook.js.map +1 -0
- package/dist/tools/webhooks/delete-webhook.d.ts +3 -0
- package/dist/tools/webhooks/delete-webhook.d.ts.map +1 -0
- package/dist/tools/webhooks/delete-webhook.js +27 -0
- package/dist/tools/webhooks/delete-webhook.js.map +1 -0
- package/dist/tools/webhooks/edit-webhook.d.ts +3 -0
- package/dist/tools/webhooks/edit-webhook.d.ts.map +1 -0
- package/dist/tools/webhooks/edit-webhook.js +36 -0
- package/dist/tools/webhooks/edit-webhook.js.map +1 -0
- package/dist/tools/webhooks/execute-webhook.d.ts +3 -0
- package/dist/tools/webhooks/execute-webhook.d.ts.map +1 -0
- package/dist/tools/webhooks/execute-webhook.js +63 -0
- package/dist/tools/webhooks/execute-webhook.js.map +1 -0
- package/dist/tools/webhooks/get-webhook.d.ts +3 -0
- package/dist/tools/webhooks/get-webhook.d.ts.map +1 -0
- package/dist/tools/webhooks/get-webhook.js +33 -0
- package/dist/tools/webhooks/get-webhook.js.map +1 -0
- package/dist/tools/webhooks/index.d.ts +7 -0
- package/dist/tools/webhooks/index.d.ts.map +1 -0
- package/dist/tools/webhooks/index.js +7 -0
- package/dist/tools/webhooks/index.js.map +1 -0
- package/dist/tools/webhooks/list-webhooks.d.ts +3 -0
- package/dist/tools/webhooks/list-webhooks.d.ts.map +1 -0
- package/dist/tools/webhooks/list-webhooks.js +47 -0
- package/dist/tools/webhooks/list-webhooks.js.map +1 -0
- package/package.json +2 -1
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { toolResultJson } from "./types.js";
|
|
3
|
+
import { getTokenForProject } from "../config/index.js";
|
|
3
4
|
const inputSchema = z.object({
|
|
4
5
|
guild_id: z.string().optional().describe("Guild ID to check permissions for"),
|
|
6
|
+
project: z.string().optional().describe("Project name (resolves bot token for multi-bot setups)"),
|
|
5
7
|
});
|
|
6
8
|
export const healthCheck = {
|
|
7
9
|
name: "health_check",
|
|
@@ -16,15 +18,26 @@ export const healthCheck = {
|
|
|
16
18
|
projects: Object.keys(ctx.config.global.projects),
|
|
17
19
|
default_project: ctx.config.perProject?.project ?? ctx.config.global.default_project ?? null,
|
|
18
20
|
};
|
|
21
|
+
// Show which projects have custom token_env
|
|
22
|
+
const multiBot = {};
|
|
23
|
+
for (const [name, project] of Object.entries(ctx.config.global.projects)) {
|
|
24
|
+
if (project.token_env) {
|
|
25
|
+
multiBot[name] = project.token_env;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (Object.keys(multiBot).length > 0) {
|
|
29
|
+
result.multi_bot = multiBot;
|
|
30
|
+
}
|
|
31
|
+
const token = input.project ? getTokenForProject(input.project, ctx.config) : undefined;
|
|
19
32
|
if (connected) {
|
|
20
|
-
const client = await ctx.discord.getClient();
|
|
33
|
+
const client = await ctx.discord.getClient(token);
|
|
21
34
|
result.bot_user = client.user?.tag;
|
|
22
35
|
result.guild_count = client.guilds.cache.size;
|
|
23
36
|
result.uptime_seconds = Math.floor((client.uptime ?? 0) / 1000);
|
|
24
37
|
}
|
|
25
38
|
if (input.guild_id) {
|
|
26
39
|
try {
|
|
27
|
-
const guild = await ctx.discord.getGuild(input.guild_id);
|
|
40
|
+
const guild = await ctx.discord.getGuild(input.guild_id, token);
|
|
28
41
|
const me = await guild.members.fetchMe();
|
|
29
42
|
result.guild = {
|
|
30
43
|
id: guild.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health-check.js","sourceRoot":"","sources":["../../src/tools/health-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"health-check.js","sourceRoot":"","sources":["../../src/tools/health-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAyDjD,eAAO,MAAM,QAAQ,EAAE,cAAc,EAuDpC,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -10,6 +10,8 @@ import { getChannel } from "./channels/get-channel.js";
|
|
|
10
10
|
import { createChannel } from "./channels/create-channel.js";
|
|
11
11
|
import { editChannel } from "./channels/edit-channel.js";
|
|
12
12
|
import { deleteChannel } from "./channels/delete-channel.js";
|
|
13
|
+
import { purgeMessages } from "./channels/purge-messages.js";
|
|
14
|
+
import { setSlowmode } from "./channels/set-slowmode.js";
|
|
13
15
|
// Guilds
|
|
14
16
|
import { listGuilds } from "./guilds/list-guilds.js";
|
|
15
17
|
import { getGuild } from "./guilds/get-guild.js";
|
|
@@ -18,29 +20,74 @@ import { listMembers } from "./members/list-members.js";
|
|
|
18
20
|
import { getMember } from "./members/get-member.js";
|
|
19
21
|
// Roles
|
|
20
22
|
import { listRoles } from "./roles/list-roles.js";
|
|
23
|
+
import { createRole } from "./roles/create-role.js";
|
|
24
|
+
import { editRole } from "./roles/edit-role.js";
|
|
25
|
+
import { deleteRole } from "./roles/delete-role.js";
|
|
26
|
+
import { assignRole } from "./roles/assign-role.js";
|
|
21
27
|
// Threads
|
|
22
28
|
import { createThread } from "./threads/create-thread.js";
|
|
23
29
|
import { listThreads } from "./threads/list-threads.js";
|
|
30
|
+
// Moderation
|
|
31
|
+
import { kickMember } from "./moderation/kick-member.js";
|
|
32
|
+
import { banMember } from "./moderation/ban-member.js";
|
|
33
|
+
import { unbanMember } from "./moderation/unban-member.js";
|
|
34
|
+
import { timeoutMember } from "./moderation/timeout-member.js";
|
|
35
|
+
// Webhooks
|
|
36
|
+
import { createWebhook } from "./webhooks/create-webhook.js";
|
|
37
|
+
import { getWebhook } from "./webhooks/get-webhook.js";
|
|
38
|
+
import { listWebhooks } from "./webhooks/list-webhooks.js";
|
|
39
|
+
import { editWebhook } from "./webhooks/edit-webhook.js";
|
|
40
|
+
import { deleteWebhook } from "./webhooks/delete-webhook.js";
|
|
41
|
+
import { executeWebhook } from "./webhooks/execute-webhook.js";
|
|
42
|
+
// Audit
|
|
43
|
+
import { queryAuditLog } from "./audit/query-audit-log.js";
|
|
24
44
|
// System
|
|
25
45
|
import { healthCheck } from "./health-check.js";
|
|
26
46
|
export const allTools = [
|
|
47
|
+
// Messaging
|
|
27
48
|
sendMessage,
|
|
28
49
|
getMessages,
|
|
29
50
|
editMessage,
|
|
30
51
|
deleteMessage,
|
|
31
52
|
addReaction,
|
|
53
|
+
// Channels
|
|
32
54
|
listChannels,
|
|
33
55
|
getChannel,
|
|
34
56
|
createChannel,
|
|
35
57
|
editChannel,
|
|
36
58
|
deleteChannel,
|
|
59
|
+
purgeMessages,
|
|
60
|
+
setSlowmode,
|
|
61
|
+
// Guilds
|
|
37
62
|
listGuilds,
|
|
38
63
|
getGuild,
|
|
64
|
+
// Members
|
|
39
65
|
listMembers,
|
|
40
66
|
getMember,
|
|
67
|
+
// Roles
|
|
41
68
|
listRoles,
|
|
69
|
+
createRole,
|
|
70
|
+
editRole,
|
|
71
|
+
deleteRole,
|
|
72
|
+
assignRole,
|
|
73
|
+
// Threads
|
|
42
74
|
createThread,
|
|
43
75
|
listThreads,
|
|
76
|
+
// Moderation
|
|
77
|
+
kickMember,
|
|
78
|
+
banMember,
|
|
79
|
+
unbanMember,
|
|
80
|
+
timeoutMember,
|
|
81
|
+
// Webhooks
|
|
82
|
+
createWebhook,
|
|
83
|
+
getWebhook,
|
|
84
|
+
listWebhooks,
|
|
85
|
+
editWebhook,
|
|
86
|
+
deleteWebhook,
|
|
87
|
+
executeWebhook,
|
|
88
|
+
// Audit
|
|
89
|
+
queryAuditLog,
|
|
90
|
+
// System
|
|
44
91
|
healthCheck,
|
|
45
92
|
];
|
|
46
93
|
//# sourceMappingURL=index.js.map
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAEA,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,WAAW;AACX,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-member.d.ts","sourceRoot":"","sources":["../../../src/tools/members/get-member.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"get-member.d.ts","sourceRoot":"","sources":["../../../src/tools/members/get-member.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUlD,eAAO,MAAM,SAAS,EAAE,cAwBvB,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { toolResultJson } from "../types.js";
|
|
3
|
+
import { getTokenForProject } from "../../config/index.js";
|
|
3
4
|
const inputSchema = z.object({
|
|
4
5
|
guild_id: z.string().describe("Guild ID"),
|
|
6
|
+
project: z.string().optional().describe("Project name (resolves bot token for multi-bot setups)"),
|
|
5
7
|
user_id: z.string().describe("User ID to look up"),
|
|
6
8
|
});
|
|
7
9
|
export const getMember = {
|
|
@@ -11,7 +13,8 @@ export const getMember = {
|
|
|
11
13
|
inputSchema,
|
|
12
14
|
requiresGuild: true,
|
|
13
15
|
handle: async (input, ctx) => {
|
|
14
|
-
const
|
|
16
|
+
const token = input.project ? getTokenForProject(input.project, ctx.config) : undefined;
|
|
17
|
+
const guild = await ctx.discord.getGuild(input.guild_id, token);
|
|
15
18
|
const member = await guild.members.fetch(input.user_id);
|
|
16
19
|
return toolResultJson({
|
|
17
20
|
id: member.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-member.js","sourceRoot":"","sources":["../../../src/tools/members/get-member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"get-member.js","sourceRoot":"","sources":["../../../src/tools/members/get-member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;IACjG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;CACnD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAmB;IACvC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,SAAS;IACnB,WAAW;IACX,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAExD,OAAO,cAAc,CAAC;YACpB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;YAC9B,YAAY,EAAE,MAAM,CAAC,WAAW;YAChC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;YACxC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;YACpB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE;YAC/B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrF,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE;YACzC,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE;YACjD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE;SAC1C,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-members.d.ts","sourceRoot":"","sources":["../../../src/tools/members/list-members.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"list-members.d.ts","sourceRoot":"","sources":["../../../src/tools/members/list-members.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUlD,eAAO,MAAM,WAAW,EAAE,cA2BzB,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { toolResultJson } from "../types.js";
|
|
3
|
+
import { getTokenForProject } from "../../config/index.js";
|
|
3
4
|
const inputSchema = z.object({
|
|
4
5
|
guild_id: z.string().describe("Guild ID to list members from"),
|
|
6
|
+
project: z.string().optional().describe("Project name (resolves bot token for multi-bot setups)"),
|
|
5
7
|
limit: z.number().min(1).max(1000).default(100).describe("Number of members to fetch"),
|
|
6
8
|
});
|
|
7
9
|
export const listMembers = {
|
|
@@ -11,7 +13,8 @@ export const listMembers = {
|
|
|
11
13
|
inputSchema,
|
|
12
14
|
requiresGuild: true,
|
|
13
15
|
handle: async (input, ctx) => {
|
|
14
|
-
const
|
|
16
|
+
const token = input.project ? getTokenForProject(input.project, ctx.config) : undefined;
|
|
17
|
+
const guild = await ctx.discord.getGuild(input.guild_id, token);
|
|
15
18
|
const members = await guild.members.fetch({ limit: input.limit });
|
|
16
19
|
const result = members.map((member) => ({
|
|
17
20
|
id: member.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-members.js","sourceRoot":"","sources":["../../../src/tools/members/list-members.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"list-members.js","sourceRoot":"","sources":["../../../src/tools/members/list-members.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC9D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;IACjG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CACvF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,0BAA0B;IACvC,QAAQ,EAAE,SAAS;IACnB,WAAW;IACX,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtC,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;YAC9B,YAAY,EAAE,MAAM,CAAC,WAAW;YAChC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;YACxC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;YACpB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAClE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE;SAC1C,CAAC,CAAC,CAAC;QAEJ,OAAO,cAAc,CAAC;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC;SACrB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -19,7 +19,7 @@ export const addReaction = {
|
|
|
19
19
|
if ("error" in target) {
|
|
20
20
|
return { content: [{ type: "text", text: target.error }], isError: true };
|
|
21
21
|
}
|
|
22
|
-
const channel = await ctx.discord.getChannel(target.channelId);
|
|
22
|
+
const channel = await ctx.discord.getChannel(target.channelId, target.token);
|
|
23
23
|
const message = await channel.messages.fetch(input.message_id);
|
|
24
24
|
await message.react(input.emoji);
|
|
25
25
|
return toolResult(`Added reaction ${input.emoji} to message ${input.message_id}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-reaction.js","sourceRoot":"","sources":["../../../src/tools/messaging/add-reaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAChE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IACvF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC3D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CACxE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,oCAAoC;IACjD,QAAQ,EAAE,WAAW;IACrB,WAAW;IACX,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5E,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"add-reaction.js","sourceRoot":"","sources":["../../../src/tools/messaging/add-reaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAChE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IACvF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC3D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CACxE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,oCAAoC;IACjD,QAAQ,EAAE,WAAW;IACrB,WAAW;IACX,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5E,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEjC,OAAO,UAAU,CAAC,kBAAkB,KAAK,CAAC,KAAK,eAAe,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACpF,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-message.d.ts","sourceRoot":"","sources":["../../../src/tools/messaging/delete-message.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAYlD,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"delete-message.d.ts","sourceRoot":"","sources":["../../../src/tools/messaging/delete-message.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAYlD,eAAO,MAAM,aAAa,EAAE,cAmB3B,CAAC"}
|
|
@@ -19,7 +19,7 @@ export const deleteMessage = {
|
|
|
19
19
|
if ("error" in target) {
|
|
20
20
|
return { content: [{ type: "text", text: target.error }], isError: true };
|
|
21
21
|
}
|
|
22
|
-
const channel = await ctx.discord.getChannel(target.channelId);
|
|
22
|
+
const channel = await ctx.discord.getChannel(target.channelId, target.token);
|
|
23
23
|
const message = await channel.messages.fetch(input.message_id);
|
|
24
24
|
await message.delete();
|
|
25
25
|
return toolResult(`Deleted message ${input.message_id}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-message.js","sourceRoot":"","sources":["../../../src/tools/messaging/delete-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC9D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC3D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CACxE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,gBAAgB;IACtB,WAAW,
|
|
1
|
+
{"version":3,"file":"delete-message.js","sourceRoot":"","sources":["../../../src/tools/messaging/delete-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC9D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC3D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CACxE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,yHAAyH;IAC3H,QAAQ,EAAE,WAAW;IACrB,WAAW;IACX,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5E,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QAEvB,OAAO,UAAU,CAAC,mBAAmB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3D,CAAC;CACF,CAAC"}
|
|
@@ -19,7 +19,7 @@ export const editMessage = {
|
|
|
19
19
|
if ("error" in target) {
|
|
20
20
|
return { content: [{ type: "text", text: target.error }], isError: true };
|
|
21
21
|
}
|
|
22
|
-
const channel = await ctx.discord.getChannel(target.channelId);
|
|
22
|
+
const channel = await ctx.discord.getChannel(target.channelId, target.token);
|
|
23
23
|
const message = await channel.messages.fetch(input.message_id);
|
|
24
24
|
const edited = await message.edit(input.content);
|
|
25
25
|
return toolResultJson({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-message.js","sourceRoot":"","sources":["../../../src/tools/messaging/edit-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACpE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC3D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CACxE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,iCAAiC;IAC9C,QAAQ,EAAE,WAAW;IACrB,WAAW;IACX,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5E,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"edit-message.js","sourceRoot":"","sources":["../../../src/tools/messaging/edit-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACpE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC3D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CACxE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,iCAAiC;IAC9C,QAAQ,EAAE,WAAW;IACrB,WAAW;IACX,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5E,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEjD,OAAO,cAAc,CAAC;YACpB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,gBAAgB,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE;SACjD,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -20,7 +20,7 @@ export const getMessages = {
|
|
|
20
20
|
if ("error" in target) {
|
|
21
21
|
return { content: [{ type: "text", text: target.error }], isError: true };
|
|
22
22
|
}
|
|
23
|
-
const channel = await ctx.discord.getChannel(target.channelId);
|
|
23
|
+
const channel = await ctx.discord.getChannel(target.channelId, target.token);
|
|
24
24
|
const messages = await channel.messages.fetch({
|
|
25
25
|
limit: input.limit,
|
|
26
26
|
...(input.before ? { before: input.before } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-messages.js","sourceRoot":"","sources":["../../../src/tools/messaging/get-messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC3D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACvE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAC/F,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC7E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CAC5E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,+CAA+C;IAC5D,QAAQ,EAAE,WAAW;IACrB,WAAW;IACX,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5E,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"get-messages.js","sourceRoot":"","sources":["../../../src/tools/messaging/get-messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC3D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACvE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAC/F,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC7E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;CAC5E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,+CAA+C;IAC5D,QAAQ,EAAE,WAAW;IACrB,WAAW;IACX,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5E,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC5C,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClD,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG;YACtB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;YACtC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI;YACjC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM;YACzB,SAAS,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBACxE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;gBACnB,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC;SACJ,CAAC,CAAC,CAAC;QAEJ,OAAO,cAAc,CAAC;YACpB,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../../src/tools/messaging/send-message.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAclD,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"send-message.d.ts","sourceRoot":"","sources":["../../../src/tools/messaging/send-message.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAclD,eAAO,MAAM,WAAW,EAAE,cA4BzB,CAAC"}
|
|
@@ -20,12 +20,10 @@ export const sendMessage = {
|
|
|
20
20
|
if ("error" in target) {
|
|
21
21
|
return { content: [{ type: "text", text: target.error }], isError: true };
|
|
22
22
|
}
|
|
23
|
-
const channel = await ctx.discord.getChannel(target.channelId);
|
|
23
|
+
const channel = await ctx.discord.getChannel(target.channelId, target.token);
|
|
24
24
|
const message = await channel.send({
|
|
25
25
|
content: input.content,
|
|
26
|
-
...(input.reply_to
|
|
27
|
-
? { reply: { messageReference: input.reply_to } }
|
|
28
|
-
: {}),
|
|
26
|
+
...(input.reply_to ? { reply: { messageReference: input.reply_to } } : {}),
|
|
29
27
|
});
|
|
30
28
|
return toolResultJson({
|
|
31
29
|
id: message.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../../src/tools/messaging/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACjF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC3D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACvE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACvF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CACnE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,0JAA0J;IAC5J,QAAQ,EAAE,WAAW;IACrB,WAAW;IACX,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5E,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"send-message.js","sourceRoot":"","sources":["../../../src/tools/messaging/send-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC;IACjF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC3D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACvE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IACvF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CACnE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,0JAA0J;IAC5J,QAAQ,EAAE,WAAW;IACrB,WAAW;IACX,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5E,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YACjC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3E,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;YACpB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;YAC1C,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACvD,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ban-member.d.ts","sourceRoot":"","sources":["../../../src/tools/moderation/ban-member.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAkBlD,eAAO,MAAM,SAAS,EAAE,cAoCvB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { toolResult, toolResultJson } from "../types.js";
|
|
3
|
+
import { snowflakeId, reason } from "../schema.js";
|
|
4
|
+
import { getTokenForProject } from "../../config/index.js";
|
|
5
|
+
const inputSchema = z.object({
|
|
6
|
+
guild_id: snowflakeId.describe("Guild ID"),
|
|
7
|
+
user_id: snowflakeId.describe("User ID to ban"),
|
|
8
|
+
reason,
|
|
9
|
+
delete_message_seconds: z
|
|
10
|
+
.number()
|
|
11
|
+
.min(0)
|
|
12
|
+
.max(604800)
|
|
13
|
+
.optional()
|
|
14
|
+
.describe("Number of seconds of messages to delete (0-604800, i.e. up to 7 days)"),
|
|
15
|
+
project: z.string().optional().describe("Project name (resolves bot token for multi-bot setups)"),
|
|
16
|
+
});
|
|
17
|
+
export const banMember = {
|
|
18
|
+
name: "ban_member",
|
|
19
|
+
description: "Ban a user from a guild. Can optionally delete recent messages. Requires BanMembers permission.",
|
|
20
|
+
category: "moderation",
|
|
21
|
+
inputSchema,
|
|
22
|
+
permissions: ["BanMembers"],
|
|
23
|
+
destructive: true,
|
|
24
|
+
requiresGuild: true,
|
|
25
|
+
handle: async (input, ctx) => {
|
|
26
|
+
const token = input.project ? getTokenForProject(input.project, ctx.config) : undefined;
|
|
27
|
+
const client = await ctx.discord.getClient(token);
|
|
28
|
+
if (input.user_id === client.user?.id) {
|
|
29
|
+
return toolResult("Cannot ban the bot itself", true);
|
|
30
|
+
}
|
|
31
|
+
const guild = await ctx.discord.getGuild(input.guild_id, token);
|
|
32
|
+
if (input.user_id === guild.ownerId) {
|
|
33
|
+
return toolResult("Cannot ban the guild owner", true);
|
|
34
|
+
}
|
|
35
|
+
await guild.members.ban(input.user_id, {
|
|
36
|
+
reason: input.reason,
|
|
37
|
+
deleteMessageSeconds: input.delete_message_seconds,
|
|
38
|
+
});
|
|
39
|
+
return toolResultJson({
|
|
40
|
+
action: "banned",
|
|
41
|
+
guild_id: input.guild_id,
|
|
42
|
+
user_id: input.user_id,
|
|
43
|
+
reason: input.reason ?? null,
|
|
44
|
+
delete_message_seconds: input.delete_message_seconds ?? 0,
|
|
45
|
+
});
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=ban-member.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ban-member.js","sourceRoot":"","sources":["../../../src/tools/moderation/ban-member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC1C,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC/C,MAAM;IACN,sBAAsB,EAAE,CAAC;SACtB,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,MAAM,CAAC;SACX,QAAQ,EAAE;SACV,QAAQ,CAAC,uEAAuE,CAAC;IACpF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;CAClG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAmB;IACvC,IAAI,EAAE,YAAY;IAClB,WAAW,EACT,iGAAiG;IACnG,QAAQ,EAAE,YAAY;IACtB,WAAW;IACX,WAAW,EAAE,CAAC,YAAY,CAAC;IAC3B,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAElD,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;YACtC,OAAO,UAAU,CAAC,2BAA2B,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEhE,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE;YACrC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,oBAAoB,EAAE,KAAK,CAAC,sBAAsB;SACnD,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;YACpB,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;YAC5B,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,IAAI,CAAC;SAC1D,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/moderation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/moderation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kick-member.d.ts","sourceRoot":"","sources":["../../../src/tools/moderation/kick-member.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAYlD,eAAO,MAAM,UAAU,EAAE,cAiCxB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { toolResult, toolResultJson } from "../types.js";
|
|
3
|
+
import { snowflakeId, reason } from "../schema.js";
|
|
4
|
+
import { getTokenForProject } from "../../config/index.js";
|
|
5
|
+
const inputSchema = z.object({
|
|
6
|
+
guild_id: snowflakeId.describe("Guild ID"),
|
|
7
|
+
user_id: snowflakeId.describe("User ID to kick"),
|
|
8
|
+
reason,
|
|
9
|
+
project: z.string().optional().describe("Project name (resolves bot token for multi-bot setups)"),
|
|
10
|
+
});
|
|
11
|
+
export const kickMember = {
|
|
12
|
+
name: "kick_member",
|
|
13
|
+
description: "Kick a member from a guild. Requires KickMembers permission.",
|
|
14
|
+
category: "moderation",
|
|
15
|
+
inputSchema,
|
|
16
|
+
permissions: ["KickMembers"],
|
|
17
|
+
destructive: true,
|
|
18
|
+
requiresGuild: true,
|
|
19
|
+
handle: async (input, ctx) => {
|
|
20
|
+
const token = input.project ? getTokenForProject(input.project, ctx.config) : undefined;
|
|
21
|
+
const client = await ctx.discord.getClient(token);
|
|
22
|
+
if (input.user_id === client.user?.id) {
|
|
23
|
+
return toolResult("Cannot kick the bot itself", true);
|
|
24
|
+
}
|
|
25
|
+
const guild = await ctx.discord.getGuild(input.guild_id, token);
|
|
26
|
+
if (input.user_id === guild.ownerId) {
|
|
27
|
+
return toolResult("Cannot kick the guild owner", true);
|
|
28
|
+
}
|
|
29
|
+
const member = await guild.members.fetch(input.user_id);
|
|
30
|
+
await member.kick(input.reason);
|
|
31
|
+
return toolResultJson({
|
|
32
|
+
action: "kicked",
|
|
33
|
+
guild_id: input.guild_id,
|
|
34
|
+
user_id: input.user_id,
|
|
35
|
+
user_tag: member.user?.tag ?? input.user_id,
|
|
36
|
+
reason: input.reason ?? null,
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=kick-member.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kick-member.js","sourceRoot":"","sources":["../../../src/tools/moderation/kick-member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC1C,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAChD,MAAM;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;CAClG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAmB;IACxC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,8DAA8D;IAC3E,QAAQ,EAAE,YAAY;IACtB,WAAW;IACX,WAAW,EAAE,CAAC,aAAa,CAAC;IAC5B,WAAW,EAAE,IAAI;IACjB,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAElD,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;YACtC,OAAO,UAAU,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEhE,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEhC,OAAO,cAAc,CAAC;YACpB,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,OAAO;YAC3C,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;SAC7B,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeout-member.d.ts","sourceRoot":"","sources":["../../../src/tools/moderation/timeout-member.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAiBlD,eAAO,MAAM,aAAa,EAAE,cAyC3B,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { toolResult, toolResultJson } from "../types.js";
|
|
3
|
+
import { snowflakeId, reason } from "../schema.js";
|
|
4
|
+
import { getTokenForProject } from "../../config/index.js";
|
|
5
|
+
const inputSchema = z.object({
|
|
6
|
+
guild_id: snowflakeId.describe("Guild ID"),
|
|
7
|
+
user_id: snowflakeId.describe("User ID to timeout"),
|
|
8
|
+
duration_seconds: z
|
|
9
|
+
.number()
|
|
10
|
+
.min(0)
|
|
11
|
+
.max(2419200)
|
|
12
|
+
.describe("Timeout duration in seconds (0 to remove, max 28 days = 2419200)"),
|
|
13
|
+
reason,
|
|
14
|
+
project: z.string().optional().describe("Project name (resolves bot token for multi-bot setups)"),
|
|
15
|
+
});
|
|
16
|
+
export const timeoutMember = {
|
|
17
|
+
name: "timeout_member",
|
|
18
|
+
description: "Timeout (mute) a member for a specified duration. Set duration_seconds to 0 to remove timeout. Requires ModerateMembers permission.",
|
|
19
|
+
category: "moderation",
|
|
20
|
+
inputSchema,
|
|
21
|
+
permissions: ["ModerateMembers"],
|
|
22
|
+
requiresGuild: true,
|
|
23
|
+
handle: async (input, ctx) => {
|
|
24
|
+
const token = input.project ? getTokenForProject(input.project, ctx.config) : undefined;
|
|
25
|
+
const client = await ctx.discord.getClient(token);
|
|
26
|
+
if (input.user_id === client.user?.id) {
|
|
27
|
+
return toolResult("Cannot timeout the bot itself", true);
|
|
28
|
+
}
|
|
29
|
+
const guild = await ctx.discord.getGuild(input.guild_id, token);
|
|
30
|
+
if (input.user_id === guild.ownerId) {
|
|
31
|
+
return toolResult("Cannot timeout the guild owner", true);
|
|
32
|
+
}
|
|
33
|
+
const member = await guild.members.fetch(input.user_id);
|
|
34
|
+
await member.timeout(input.duration_seconds > 0 ? input.duration_seconds * 1000 : null, input.reason);
|
|
35
|
+
const timeoutUntil = input.duration_seconds > 0 ? new Date(Date.now() + input.duration_seconds * 1000) : null;
|
|
36
|
+
return toolResultJson({
|
|
37
|
+
action: input.duration_seconds > 0 ? "timed_out" : "timeout_removed",
|
|
38
|
+
guild_id: input.guild_id,
|
|
39
|
+
user_id: input.user_id,
|
|
40
|
+
user_tag: member.user?.tag ?? input.user_id,
|
|
41
|
+
duration_seconds: input.duration_seconds,
|
|
42
|
+
timeout_until: timeoutUntil?.toISOString() ?? null,
|
|
43
|
+
reason: input.reason ?? null,
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=timeout-member.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeout-member.js","sourceRoot":"","sources":["../../../src/tools/moderation/timeout-member.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unban-member.d.ts","sourceRoot":"","sources":["../../../src/tools/moderation/unban-member.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAYlD,eAAO,MAAM,WAAW,EAAE,cAoBzB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { toolResultJson } from "../types.js";
|
|
3
|
+
import { snowflakeId, reason } from "../schema.js";
|
|
4
|
+
import { getTokenForProject } from "../../config/index.js";
|
|
5
|
+
const inputSchema = z.object({
|
|
6
|
+
guild_id: snowflakeId.describe("Guild ID"),
|
|
7
|
+
user_id: snowflakeId.describe("User ID to unban"),
|
|
8
|
+
reason,
|
|
9
|
+
project: z.string().optional().describe("Project name (resolves bot token for multi-bot setups)"),
|
|
10
|
+
});
|
|
11
|
+
export const unbanMember = {
|
|
12
|
+
name: "unban_member",
|
|
13
|
+
description: "Unban a user from a guild. Requires BanMembers permission.",
|
|
14
|
+
category: "moderation",
|
|
15
|
+
inputSchema,
|
|
16
|
+
permissions: ["BanMembers"],
|
|
17
|
+
requiresGuild: true,
|
|
18
|
+
handle: async (input, ctx) => {
|
|
19
|
+
const token = input.project ? getTokenForProject(input.project, ctx.config) : undefined;
|
|
20
|
+
const guild = await ctx.discord.getGuild(input.guild_id, token);
|
|
21
|
+
await guild.members.unban(input.user_id, input.reason);
|
|
22
|
+
return toolResultJson({
|
|
23
|
+
action: "unbanned",
|
|
24
|
+
guild_id: input.guild_id,
|
|
25
|
+
user_id: input.user_id,
|
|
26
|
+
reason: input.reason ?? null,
|
|
27
|
+
});
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=unban-member.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unban-member.js","sourceRoot":"","sources":["../../../src/tools/moderation/unban-member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC1C,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACjD,MAAM;IACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;CAClG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,4DAA4D;IACzE,QAAQ,EAAE,YAAY;IACtB,WAAW;IACX,WAAW,EAAE,CAAC,YAAY,CAAC;IAC3B,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEhE,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAEvD,OAAO,cAAc,CAAC;YACpB,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;SAC7B,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|