koishi-plugin-onebot-group-manage 0.0.4 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +43 -27
- package/lib/tools.d.ts +4 -5
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -31,10 +31,13 @@ var import_koishi = require("koishi");
|
|
|
31
31
|
var import_tools = require("@langchain/core/tools");
|
|
32
32
|
var import_zod = require("zod");
|
|
33
33
|
var GroupMuteTool = class extends import_tools.StructuredTool {
|
|
34
|
-
constructor(
|
|
34
|
+
constructor(ctx, handlers, config, logger, logVerbose) {
|
|
35
35
|
super();
|
|
36
|
-
this.
|
|
37
|
-
this.
|
|
36
|
+
this.ctx = ctx;
|
|
37
|
+
this.handlers = handlers;
|
|
38
|
+
this.config = config;
|
|
39
|
+
this.logger = logger;
|
|
40
|
+
this.logVerbose = logVerbose;
|
|
38
41
|
}
|
|
39
42
|
static {
|
|
40
43
|
__name(this, "GroupMuteTool");
|
|
@@ -44,24 +47,35 @@ var GroupMuteTool = class extends import_tools.StructuredTool {
|
|
|
44
47
|
schema = import_zod.z.object({
|
|
45
48
|
groupId: import_zod.z.string().trim().min(1).describe("目标群号,不填则使用当前会话群").optional(),
|
|
46
49
|
userId: import_zod.z.string().trim().min(1).describe("要禁言的成员 QQ 号"),
|
|
47
|
-
duration: import_zod.z.number().int().positive().describe("
|
|
50
|
+
duration: import_zod.z.number().int().positive().describe("禁言时长(秒)")
|
|
48
51
|
});
|
|
49
52
|
async _call(input, _runManager, runnableConfig) {
|
|
50
53
|
const session = runnableConfig?.configurable?.session;
|
|
51
54
|
if (!session) return "缺少 session,无法执行禁言";
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
try {
|
|
56
|
+
const result = await this.handlers.performMute(
|
|
57
|
+
this.ctx,
|
|
58
|
+
session,
|
|
59
|
+
{ targetId: input.userId, duration: input.duration, guildId: input.groupId },
|
|
60
|
+
this.config,
|
|
61
|
+
this.logger,
|
|
62
|
+
this.logVerbose
|
|
63
|
+
);
|
|
64
|
+
return typeof result === "string" ? result : JSON.stringify(result);
|
|
65
|
+
} catch (error) {
|
|
66
|
+
this.logger.warn(error);
|
|
67
|
+
return `禁言失败:${error?.message || String(error)}`;
|
|
68
|
+
}
|
|
58
69
|
}
|
|
59
70
|
};
|
|
60
71
|
var GroupTitleTool = class extends import_tools.StructuredTool {
|
|
61
|
-
constructor(
|
|
72
|
+
constructor(ctx, handlers, config, logger, logVerbose) {
|
|
62
73
|
super();
|
|
63
|
-
this.
|
|
64
|
-
this.
|
|
74
|
+
this.ctx = ctx;
|
|
75
|
+
this.handlers = handlers;
|
|
76
|
+
this.config = config;
|
|
77
|
+
this.logger = logger;
|
|
78
|
+
this.logVerbose = logVerbose;
|
|
65
79
|
}
|
|
66
80
|
static {
|
|
67
81
|
__name(this, "GroupTitleTool");
|
|
@@ -76,12 +90,20 @@ var GroupTitleTool = class extends import_tools.StructuredTool {
|
|
|
76
90
|
async _call(input, _runManager, runnableConfig) {
|
|
77
91
|
const session = runnableConfig?.configurable?.session;
|
|
78
92
|
if (!session) return "缺少 session,无法设置头衔";
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
93
|
+
try {
|
|
94
|
+
const result = await this.handlers.performTitle(
|
|
95
|
+
this.ctx,
|
|
96
|
+
session,
|
|
97
|
+
{ targetId: input.userId, title: input.title, guildId: input.groupId },
|
|
98
|
+
this.config,
|
|
99
|
+
this.logger,
|
|
100
|
+
this.logVerbose
|
|
101
|
+
);
|
|
102
|
+
return typeof result === "string" ? result : JSON.stringify(result);
|
|
103
|
+
} catch (error) {
|
|
104
|
+
this.logger.warn(error);
|
|
105
|
+
return `设置头衔失败:${error?.message || String(error)}`;
|
|
106
|
+
}
|
|
85
107
|
}
|
|
86
108
|
};
|
|
87
109
|
function registerChatlunaTools(ctx, config, logger, verbose, handlers) {
|
|
@@ -92,19 +114,13 @@ function registerChatlunaTools(ctx, config, logger, verbose, handlers) {
|
|
|
92
114
|
}
|
|
93
115
|
ctx.effect(
|
|
94
116
|
() => platform.registerTool("group_mute", {
|
|
95
|
-
createTool: /* @__PURE__ */ __name(() => new GroupMuteTool(
|
|
96
|
-
(session, params) => handlers.performMute(ctx, session, params, config, logger, verbose),
|
|
97
|
-
verbose
|
|
98
|
-
), "createTool"),
|
|
117
|
+
createTool: /* @__PURE__ */ __name(() => new GroupMuteTool(ctx, handlers, config, logger, verbose), "createTool"),
|
|
99
118
|
selector: /* @__PURE__ */ __name(() => true, "selector")
|
|
100
119
|
})
|
|
101
120
|
);
|
|
102
121
|
ctx.effect(
|
|
103
122
|
() => platform.registerTool("group_set_title", {
|
|
104
|
-
createTool: /* @__PURE__ */ __name(() => new GroupTitleTool(
|
|
105
|
-
(session, params) => handlers.performTitle(ctx, session, params, config, logger, verbose),
|
|
106
|
-
verbose
|
|
107
|
-
), "createTool"),
|
|
123
|
+
createTool: /* @__PURE__ */ __name(() => new GroupTitleTool(ctx, handlers, config, logger, verbose), "createTool"),
|
|
108
124
|
selector: /* @__PURE__ */ __name(() => true, "selector")
|
|
109
125
|
})
|
|
110
126
|
);
|
package/lib/tools.d.ts
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { Context, Session } from 'koishi';
|
|
2
|
+
import type { Config } from '.';
|
|
2
3
|
interface Handlers {
|
|
3
4
|
performMute: (ctx: Context, session: Session, params: {
|
|
4
5
|
targetId: string;
|
|
5
6
|
duration: number;
|
|
6
7
|
guildId?: string;
|
|
7
|
-
},
|
|
8
|
+
}, config: Config, logger: ReturnType<Context['logger']>, verbose?: boolean) => Promise<string>;
|
|
8
9
|
performTitle: (ctx: Context, session: Session, params: {
|
|
9
10
|
targetId: string;
|
|
10
11
|
title: string;
|
|
11
12
|
guildId?: string;
|
|
12
|
-
},
|
|
13
|
+
}, config: Config, logger: ReturnType<Context['logger']>, verbose?: boolean) => Promise<string>;
|
|
13
14
|
}
|
|
14
|
-
export declare function registerChatlunaTools(ctx: Context, config:
|
|
15
|
-
chatlunaTools?: boolean;
|
|
16
|
-
}, logger: ReturnType<Context['logger']>, verbose: boolean | undefined, handlers: Handlers): void;
|
|
15
|
+
export declare function registerChatlunaTools(ctx: Context, config: Config, logger: ReturnType<Context['logger']>, verbose: boolean | undefined, handlers: Handlers): void;
|
|
17
16
|
export {};
|