koishi-plugin-comic 1.1.0 → 1.3.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/lib/index.d.ts +12 -38
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +527 -273
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -28,6 +28,11 @@ export declare const inject: {
|
|
|
28
28
|
required: string[];
|
|
29
29
|
};
|
|
30
30
|
export declare const usage = "\n<h2>\u805A\u5408\u6F2B\u753B\u641C\u7D22\u4E0E\u4E0B\u8F7D\u63D2\u4EF6</h2>\n<p>\u4F7F\u7528\u524D\u8BF7\u5148\u90E8\u7F72 <a href=\"https://github.com/lumia1998/comic-api\">comic-api</a> \u540E\u7AEF\u670D\u52A1</p>\n<p>\u652F\u6301\u7981\u6F2B\u5929\u5802(JM)\u548C\u54D4\u5494\u6F2B\u753B(Bika)\u53CC\u5E73\u53F0\u805A\u5408\u641C\u7D22</p>\n<h3>\u547D\u4EE4\u5217\u8868</h3>\n<ul>\n <li><code>comic [\u5173\u952E\u8BCD]</code> - \u805A\u5408\u641C\u7D22/\u76F4\u63A5\u4E0B\u8F7D\u6F2B\u753B</li>\n <li><code>comic search <\u5173\u952E\u8BCD/ID></code> - \u805A\u5408\u641C\u7D22\u6F2B\u753B\uFF0C\u5404\u5E73\u53F0\u6700\u591A8\u6761\uFF0C\u5408\u5E76\u8F6C\u53D1\u5E76\u6807\u6CE8\u6765\u6E90</li>\n <li><code>comic download <ID> [\u7AE0\u8282ID]</code> - \u4E0B\u8F7D\u6F2B\u753BPDF</li>\n <li><code>comic detail <\u5173\u952E\u8BCD/ID></code> - \u67E5\u770B\u6F2B\u753B\u8BE6\u60C5\uFF0C\u5173\u952E\u8BCD\u6A21\u5F0F\u4E0B\u53CC\u5E73\u53F0\u5404\u5C55\u793A\u6700\u76F8\u4F3C\u7ED3\u679C</li>\n <li><code>comic leaderboard [\u7C7B\u578B] [\u9875\u7801]</code> - \u6392\u884C\u699C(\u7C7B\u578B: day/week/month/total\uFF0C\u9ED8\u8BA4day)\uFF0C\u53CC\u5E73\u53F0\u52062\u6761\u53D1\u9001</li>\n <li><code>comic latest [-n \u6570\u91CF]</code> - \u6700\u8FD1\u66F4\u65B0\uFF0C\u6BCF\u5E73\u53F0\u9ED8\u8BA410\u6761(\u6700\u591A50)\uFF0C\u53CC\u5E73\u53F0\u52062\u6761\u53D1\u9001</li>\n <li><code>comic random [-n \u6570\u91CF]</code> - \u968F\u673A\u63A8\u8350\uFF0C\u6BCF\u5E73\u53F0\u9ED8\u8BA45\u4E2A(\u6700\u591A20)\uFF0C\u53CC\u5E73\u53F0\u52062\u6761\u53D1\u9001</li>\n</ul>\n";
|
|
31
|
+
export interface ToolConfig {
|
|
32
|
+
enabled: boolean;
|
|
33
|
+
name: string;
|
|
34
|
+
description: string;
|
|
35
|
+
}
|
|
31
36
|
export interface Config {
|
|
32
37
|
apiBase: string;
|
|
33
38
|
concurrency: number;
|
|
@@ -35,44 +40,13 @@ export interface Config {
|
|
|
35
40
|
pdfPassword?: string;
|
|
36
41
|
pdfSendMethod: 'buffer' | 'file';
|
|
37
42
|
fileSendPath: string;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
comicSearchTool: ToolConfig;
|
|
44
|
+
comicDetailTool: ToolConfig;
|
|
45
|
+
comicLeaderboardTool: ToolConfig;
|
|
46
|
+
comicLatestTool: ToolConfig;
|
|
47
|
+
comicRandomTool: ToolConfig;
|
|
48
|
+
comicDownloadTool: ToolConfig;
|
|
43
49
|
}
|
|
44
|
-
export declare const Config: Schema<
|
|
45
|
-
apiBase: Schema<string, string>;
|
|
46
|
-
concurrency: Schema<number, number>;
|
|
47
|
-
logInfo: Schema<boolean, boolean>;
|
|
48
|
-
pdfPassword: Schema<string, string>;
|
|
49
|
-
pdfSendMethod: Schema<"buffer" | "file", "buffer" | "file">;
|
|
50
|
-
fileSendPath: Schema<string, string>;
|
|
51
|
-
tool: Schema<Schemastery.ObjectS<{
|
|
52
|
-
enabled: Schema<boolean, boolean>;
|
|
53
|
-
name: Schema<string, string>;
|
|
54
|
-
description: Schema<string, string>;
|
|
55
|
-
}>, Schemastery.ObjectT<{
|
|
56
|
-
enabled: Schema<boolean, boolean>;
|
|
57
|
-
name: Schema<string, string>;
|
|
58
|
-
description: Schema<string, string>;
|
|
59
|
-
}>>;
|
|
60
|
-
}>, Schemastery.ObjectT<{
|
|
61
|
-
apiBase: Schema<string, string>;
|
|
62
|
-
concurrency: Schema<number, number>;
|
|
63
|
-
logInfo: Schema<boolean, boolean>;
|
|
64
|
-
pdfPassword: Schema<string, string>;
|
|
65
|
-
pdfSendMethod: Schema<"buffer" | "file", "buffer" | "file">;
|
|
66
|
-
fileSendPath: Schema<string, string>;
|
|
67
|
-
tool: Schema<Schemastery.ObjectS<{
|
|
68
|
-
enabled: Schema<boolean, boolean>;
|
|
69
|
-
name: Schema<string, string>;
|
|
70
|
-
description: Schema<string, string>;
|
|
71
|
-
}>, Schemastery.ObjectT<{
|
|
72
|
-
enabled: Schema<boolean, boolean>;
|
|
73
|
-
name: Schema<string, string>;
|
|
74
|
-
description: Schema<string, string>;
|
|
75
|
-
}>>;
|
|
76
|
-
}>>;
|
|
50
|
+
export declare const Config: Schema<Config>;
|
|
77
51
|
export declare function apply(ctx: Context, config: Config): void;
|
|
78
52
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAA;AASpD,OAAO,QAAQ,QAAQ,CAAC;IACtB,UAAU,OAAO;QACf,QAAQ,EAAE;YACR,QAAQ,EAAE;gBACR,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;oBAClC,WAAW,EAAE,MAAM,CAAA;oBACnB,QAAQ,EAAE,MAAM,OAAO,CAAA;oBACvB,UAAU,EAAE,MAAM,GAAG,CAAA;oBACrB,IAAI,EAAE;wBACJ,MAAM,EAAE,MAAM,CAAA;wBACd,KAAK,EAAE,MAAM,CAAA;wBACb,IAAI,EAAE,MAAM,EAAE,CAAA;wBACd,mBAAmB,EAAE;4BACnB,OAAO,EAAE,OAAO,CAAA;4BAChB,IAAI,EAAE,OAAO,CAAA;4BACb,QAAQ,EAAE,OAAO,CAAA;4BACjB,cAAc,EAAE,MAAM,CAAA;yBACvB,CAAA;qBACF,CAAA;iBACF,GAAG,MAAM,IAAI,CAAA;aACf,CAAA;YACD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;SAC9C,CAAA;KACF;CACF;AAED,eAAO,MAAM,MAAM;;CAElB,CAAA;AAED,eAAO,MAAM,KAAK,slDAcjB,CAAA;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,QAAQ,GAAG,MAAM,CAAA;IAChC,YAAY,EAAE,MAAM,CAAA;IACpB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAc,MAAM,QAAQ,CAAA;AASpD,OAAO,QAAQ,QAAQ,CAAC;IACtB,UAAU,OAAO;QACf,QAAQ,EAAE;YACR,QAAQ,EAAE;gBACR,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;oBAClC,WAAW,EAAE,MAAM,CAAA;oBACnB,QAAQ,EAAE,MAAM,OAAO,CAAA;oBACvB,UAAU,EAAE,MAAM,GAAG,CAAA;oBACrB,IAAI,EAAE;wBACJ,MAAM,EAAE,MAAM,CAAA;wBACd,KAAK,EAAE,MAAM,CAAA;wBACb,IAAI,EAAE,MAAM,EAAE,CAAA;wBACd,mBAAmB,EAAE;4BACnB,OAAO,EAAE,OAAO,CAAA;4BAChB,IAAI,EAAE,OAAO,CAAA;4BACb,QAAQ,EAAE,OAAO,CAAA;4BACjB,cAAc,EAAE,MAAM,CAAA;yBACvB,CAAA;qBACF,CAAA;iBACF,GAAG,MAAM,IAAI,CAAA;aACf,CAAA;YACD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;SAC9C,CAAA;KACF;CACF;AAED,eAAO,MAAM,MAAM;;CAElB,CAAA;AAED,eAAO,MAAM,KAAK,slDAcjB,CAAA;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,QAAQ,GAAG,MAAM,CAAA;IAChC,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,UAAU,CAAA;IAC3B,eAAe,EAAE,UAAU,CAAA;IAC3B,oBAAoB,EAAE,UAAU,CAAA;IAChC,eAAe,EAAE,UAAU,CAAA;IAC3B,eAAe,EAAE,UAAU,CAAA;IAC3B,iBAAiB,EAAE,UAAU,CAAA;CAC9B;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CA2EhC,CAAA;AAqHF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,QAk1BjD"}
|
package/lib/index.js
CHANGED
|
@@ -45,48 +45,132 @@ const zod_1 = require("zod");
|
|
|
45
45
|
exports.inject = {
|
|
46
46
|
required: ['http', 'chatluna'],
|
|
47
47
|
};
|
|
48
|
-
exports.usage = `
|
|
49
|
-
<h2>聚合漫画搜索与下载插件</h2>
|
|
50
|
-
<p>使用前请先部署 <a href="https://github.com/lumia1998/comic-api">comic-api</a> 后端服务</p>
|
|
51
|
-
<p>支持禁漫天堂(JM)和哔咔漫画(Bika)双平台聚合搜索</p>
|
|
52
|
-
<h3>命令列表</h3>
|
|
53
|
-
<ul>
|
|
54
|
-
<li><code>comic [关键词]</code> - 聚合搜索/直接下载漫画</li>
|
|
55
|
-
<li><code>comic search <关键词/ID></code> - 聚合搜索漫画,各平台最多8条,合并转发并标注来源</li>
|
|
56
|
-
<li><code>comic download <ID> [章节ID]</code> - 下载漫画PDF</li>
|
|
57
|
-
<li><code>comic detail <关键词/ID></code> - 查看漫画详情,关键词模式下双平台各展示最相似结果</li>
|
|
58
|
-
<li><code>comic leaderboard [类型] [页码]</code> - 排行榜(类型: day/week/month/total,默认day),双平台分2条发送</li>
|
|
59
|
-
<li><code>comic latest [-n 数量]</code> - 最近更新,每平台默认10条(最多50),双平台分2条发送</li>
|
|
60
|
-
<li><code>comic random [-n 数量]</code> - 随机推荐,每平台默认5个(最多20),双平台分2条发送</li>
|
|
61
|
-
</ul>
|
|
48
|
+
exports.usage = `
|
|
49
|
+
<h2>聚合漫画搜索与下载插件</h2>
|
|
50
|
+
<p>使用前请先部署 <a href="https://github.com/lumia1998/comic-api">comic-api</a> 后端服务</p>
|
|
51
|
+
<p>支持禁漫天堂(JM)和哔咔漫画(Bika)双平台聚合搜索</p>
|
|
52
|
+
<h3>命令列表</h3>
|
|
53
|
+
<ul>
|
|
54
|
+
<li><code>comic [关键词]</code> - 聚合搜索/直接下载漫画</li>
|
|
55
|
+
<li><code>comic search <关键词/ID></code> - 聚合搜索漫画,各平台最多8条,合并转发并标注来源</li>
|
|
56
|
+
<li><code>comic download <ID> [章节ID]</code> - 下载漫画PDF</li>
|
|
57
|
+
<li><code>comic detail <关键词/ID></code> - 查看漫画详情,关键词模式下双平台各展示最相似结果</li>
|
|
58
|
+
<li><code>comic leaderboard [类型] [页码]</code> - 排行榜(类型: day/week/month/total,默认day),双平台分2条发送</li>
|
|
59
|
+
<li><code>comic latest [-n 数量]</code> - 最近更新,每平台默认10条(最多50),双平台分2条发送</li>
|
|
60
|
+
<li><code>comic random [-n 数量]</code> - 随机推荐,每平台默认5个(最多20),双平台分2条发送</li>
|
|
61
|
+
</ul>
|
|
62
62
|
`;
|
|
63
|
-
exports.Config = koishi_1.Schema.
|
|
64
|
-
|
|
65
|
-
.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
.
|
|
76
|
-
|
|
77
|
-
.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
.
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
.
|
|
87
|
-
.description('
|
|
88
|
-
|
|
63
|
+
exports.Config = koishi_1.Schema.intersect([
|
|
64
|
+
koishi_1.Schema.object({
|
|
65
|
+
apiBase: koishi_1.Schema.string()
|
|
66
|
+
.description('comic-api 后端地址')
|
|
67
|
+
.default('http://127.0.0.1:8699'),
|
|
68
|
+
concurrency: koishi_1.Schema.number()
|
|
69
|
+
.min(1).max(16)
|
|
70
|
+
.description('下载并发数 (1-16)')
|
|
71
|
+
.default(4),
|
|
72
|
+
logInfo: koishi_1.Schema.boolean()
|
|
73
|
+
.description('打印 API 调用日志')
|
|
74
|
+
.default(false),
|
|
75
|
+
pdfPassword: koishi_1.Schema.string()
|
|
76
|
+
.description('PDF 统一加密密码 (留空则使用动态生成的6位密码并自动提示)'),
|
|
77
|
+
pdfSendMethod: koishi_1.Schema.union(['buffer', 'file'])
|
|
78
|
+
.description('PDF 发送方式。如果 Koishi 与 Bot 客户端不在同一设备/容器,请选择 buffer;若选择 file 模式,文件将保存到指定目录中转。')
|
|
79
|
+
.default('buffer'),
|
|
80
|
+
fileSendPath: koishi_1.Schema.string()
|
|
81
|
+
.description('PDF 发送方式为 file 时的本地中转保存目录')
|
|
82
|
+
.default('/koishi/temp'),
|
|
83
|
+
}),
|
|
84
|
+
koishi_1.Schema.object({
|
|
85
|
+
comicSearchTool: koishi_1.Schema.object({
|
|
86
|
+
enabled: koishi_1.Schema.boolean().default(true).description('是否注册 comic_search 工具'),
|
|
87
|
+
name: koishi_1.Schema.string().default('comic_search').description('工具名称'),
|
|
88
|
+
description: koishi_1.Schema.string()
|
|
89
|
+
.default('搜索漫画。支持禁漫天堂(JM)和哔咔漫画(Bika)双平台。返回匹配的漫画列表(含ID、标题、作者)。搜索到结果后,应直接调用 comic_download 下载第一个匹配项,不要在回复中罗列搜索结果。如果搜索无结果,尝试用更简短的关键词重试,或告知用户未找到。')
|
|
90
|
+
.description('工具描述'),
|
|
91
|
+
}).description('comic_search 工具'),
|
|
92
|
+
}),
|
|
93
|
+
koishi_1.Schema.object({
|
|
94
|
+
comicDetailTool: koishi_1.Schema.object({
|
|
95
|
+
enabled: koishi_1.Schema.boolean().default(true).description('是否注册 comic_detail 工具'),
|
|
96
|
+
name: koishi_1.Schema.string().default('comic_detail').description('工具名称'),
|
|
97
|
+
description: koishi_1.Schema.string()
|
|
98
|
+
.default('查看漫画详情(标题、作者、简介、章节列表)。仅在用户明确要求查看详情时使用。支持禁漫天堂(JM)和哔咔漫画(Bika)双平台。')
|
|
99
|
+
.description('工具描述'),
|
|
100
|
+
}).description('comic_detail 工具'),
|
|
101
|
+
}),
|
|
102
|
+
koishi_1.Schema.object({
|
|
103
|
+
comicLeaderboardTool: koishi_1.Schema.object({
|
|
104
|
+
enabled: koishi_1.Schema.boolean().default(true).description('是否注册 comic_leaderboard 工具'),
|
|
105
|
+
name: koishi_1.Schema.string().default('comic_leaderboard').description('工具名称'),
|
|
106
|
+
description: koishi_1.Schema.string()
|
|
107
|
+
.default('查看漫画排行榜(日榜/周榜/月榜/总榜)。支持禁漫天堂(JM)和哔咔漫画(Bika)双平台。')
|
|
108
|
+
.description('工具描述'),
|
|
109
|
+
}).description('comic_leaderboard 工具'),
|
|
110
|
+
}),
|
|
111
|
+
koishi_1.Schema.object({
|
|
112
|
+
comicLatestTool: koishi_1.Schema.object({
|
|
113
|
+
enabled: koishi_1.Schema.boolean().default(true).description('是否注册 comic_latest 工具'),
|
|
114
|
+
name: koishi_1.Schema.string().default('comic_latest').description('工具名称'),
|
|
115
|
+
description: koishi_1.Schema.string()
|
|
116
|
+
.default('查看最近更新的漫画。支持禁漫天堂(JM)和哔咔漫画(Bika)双平台。')
|
|
117
|
+
.description('工具描述'),
|
|
118
|
+
}).description('comic_latest 工具'),
|
|
119
|
+
}),
|
|
120
|
+
koishi_1.Schema.object({
|
|
121
|
+
comicRandomTool: koishi_1.Schema.object({
|
|
122
|
+
enabled: koishi_1.Schema.boolean().default(true).description('是否注册 comic_random 工具'),
|
|
123
|
+
name: koishi_1.Schema.string().default('comic_random').description('工具名称'),
|
|
124
|
+
description: koishi_1.Schema.string()
|
|
125
|
+
.default('随机推荐漫画。支持禁漫天堂(JM)和哔咔漫画(Bika)双平台。')
|
|
126
|
+
.description('工具描述'),
|
|
127
|
+
}).description('comic_random 工具'),
|
|
128
|
+
}),
|
|
129
|
+
koishi_1.Schema.object({
|
|
130
|
+
comicDownloadTool: koishi_1.Schema.object({
|
|
131
|
+
enabled: koishi_1.Schema.boolean().default(true).description('是否注册 comic_download 工具'),
|
|
132
|
+
name: koishi_1.Schema.string().default('comic_download').description('工具名称'),
|
|
133
|
+
description: koishi_1.Schema.string()
|
|
134
|
+
.default('下载漫画/本子为PDF并直接发送给用户。调用后会自动发送PDF文件到聊天中,并返回漫画标题和解密密码。你应该将密码直接告知用户,不要让其自行查找。用户说"想看xx""来个本子""下载xx"等意图时,先用 comic_search 搜索,拿到结果后直接用第一个匹配的ID调用本工具下载。最终回复格式示例:「搜索到 5 个结果,已为你下载《xxxx》,密码 123456」——不要列出搜索结果列表,不要分多条消息叙述中间步骤。')
|
|
135
|
+
.description('工具描述'),
|
|
136
|
+
}).description('comic_download 工具'),
|
|
137
|
+
}),
|
|
138
|
+
]);
|
|
139
|
+
// ============ Zod Schemas ============
|
|
140
|
+
const comicSearchSchema = zod_1.z.object({
|
|
141
|
+
keyword: zod_1.z.string().describe('搜索关键词,可以是漫画名、角色名、画师/作者名等'),
|
|
142
|
+
source: zod_1.z.enum(['jm', 'bika']).optional()
|
|
143
|
+
.describe('漫画源:jm=禁漫天堂, bika=哔咔漫画。不填则自动搜索两个平台'),
|
|
144
|
+
});
|
|
145
|
+
const comicDetailSchema = zod_1.z.object({
|
|
146
|
+
comic_id: zod_1.z.string().describe('漫画ID'),
|
|
147
|
+
source: zod_1.z.enum(['jm', 'bika']).optional()
|
|
148
|
+
.describe('漫画源:jm=禁漫天堂, bika=哔咔漫画。不填则自动检测'),
|
|
149
|
+
});
|
|
150
|
+
const comicLeaderboardSchema = zod_1.z.object({
|
|
151
|
+
mode: zod_1.z.enum(['day', 'week', 'month', 'total']).optional()
|
|
152
|
+
.describe('排行榜类型:day=日榜(默认), week=周榜, month=月榜, total=总榜'),
|
|
153
|
+
source: zod_1.z.enum(['jm', 'bika']).optional()
|
|
154
|
+
.describe('漫画源:jm=禁漫天堂, bika=哔咔漫画。不填则返回双平台排行榜'),
|
|
155
|
+
page: zod_1.z.number().int().min(1).optional()
|
|
156
|
+
.describe('页码,默认1'),
|
|
157
|
+
});
|
|
158
|
+
const comicLatestSchema = zod_1.z.object({
|
|
159
|
+
source: zod_1.z.enum(['jm', 'bika']).optional()
|
|
160
|
+
.describe('漫画源:jm=禁漫天堂, bika=哔咔漫画。不填则返回双平台最近更新'),
|
|
161
|
+
});
|
|
162
|
+
const comicRandomSchema = zod_1.z.object({
|
|
163
|
+
source: zod_1.z.enum(['jm', 'bika']).optional()
|
|
164
|
+
.describe('漫画源:jm=禁漫天堂, bika=哔咔漫画。不填则返回双平台随机推荐'),
|
|
89
165
|
});
|
|
166
|
+
const comicDownloadSchema = zod_1.z.object({
|
|
167
|
+
comic_id: zod_1.z.string().describe('漫画ID(从comic_search返回结果中获取)'),
|
|
168
|
+
chapter_id: zod_1.z.string().optional()
|
|
169
|
+
.describe('章节ID,不填默认下载第一话'),
|
|
170
|
+
source: zod_1.z.enum(['jm', 'bika']).optional()
|
|
171
|
+
.describe('漫画源:jm=禁漫天堂, bika=哔咔漫画。不填则自动检测'),
|
|
172
|
+
});
|
|
173
|
+
// ============ 辅助函数 ============
|
|
90
174
|
function getPdfPassword(source, comicId, chapterId) {
|
|
91
175
|
const src = source.trim().toLowerCase();
|
|
92
176
|
const seed = `${src}:${comicId}:${chapterId}`;
|
|
@@ -112,6 +196,7 @@ function determineSource(id) {
|
|
|
112
196
|
}
|
|
113
197
|
return null;
|
|
114
198
|
}
|
|
199
|
+
// ============ 主逻辑 ============
|
|
115
200
|
function apply(ctx, config) {
|
|
116
201
|
const logger = ctx.logger('comic');
|
|
117
202
|
async function apiGet(path, params) {
|
|
@@ -125,7 +210,6 @@ function apply(ctx, config) {
|
|
|
125
210
|
logger.info(`GET ${url}`);
|
|
126
211
|
try {
|
|
127
212
|
const res = await ctx.http.get(url);
|
|
128
|
-
// 后端统一错误格式:{ success: false, error: '...' }
|
|
129
213
|
if (res && typeof res === 'object' && res.success === false) {
|
|
130
214
|
const msg = res.error || '后端返回未知错误';
|
|
131
215
|
logger.warn(`API 返回失败 [${url}]: ${msg}`);
|
|
@@ -138,7 +222,118 @@ function apply(ctx, config) {
|
|
|
138
222
|
throw err;
|
|
139
223
|
}
|
|
140
224
|
}
|
|
141
|
-
//
|
|
225
|
+
// ========== 核心下载函数(命令和工具共用) ==========
|
|
226
|
+
async function doDownload(session, id, chapterId, opts) {
|
|
227
|
+
const silent = opts?.silent ?? false;
|
|
228
|
+
// 1. 解析来源与 ID
|
|
229
|
+
let source;
|
|
230
|
+
let targetId;
|
|
231
|
+
const resolved = determineSource(id);
|
|
232
|
+
if (resolved) {
|
|
233
|
+
source = resolved.source;
|
|
234
|
+
targetId = resolved.id;
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
if (!silent)
|
|
238
|
+
await session.send(`正在搜索并解析本子名「${id}」...`);
|
|
239
|
+
try {
|
|
240
|
+
const searchResult = await apiGet('/api/search', { keyword: id });
|
|
241
|
+
const jmList = searchResult.all_results?.jm || [];
|
|
242
|
+
const bikaList = searchResult.all_results?.bika || [];
|
|
243
|
+
if (jmList.length > 0) {
|
|
244
|
+
source = 'jm';
|
|
245
|
+
targetId = jmList[0].id;
|
|
246
|
+
}
|
|
247
|
+
else if (bikaList.length > 0) {
|
|
248
|
+
source = 'bika';
|
|
249
|
+
targetId = bikaList[0].id;
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
return { success: false, title: '', password: '', chapterName: '', totalChapters: 0, chapters: [], error: '未找到相关漫画' };
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
catch (err) {
|
|
256
|
+
return { success: false, title: '', password: '', chapterName: '', totalChapters: 0, chapters: [], error: `搜索本子名失败: ${err.message}` };
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
// 2. 获取详情
|
|
260
|
+
if (!silent)
|
|
261
|
+
await session.send('正在获取漫画详情...');
|
|
262
|
+
let detail;
|
|
263
|
+
try {
|
|
264
|
+
detail = await apiGet(`/api/comic/${source}/${targetId}`);
|
|
265
|
+
}
|
|
266
|
+
catch (e) {
|
|
267
|
+
return { success: false, title: '', password: '', chapterName: '', totalChapters: 0, chapters: [], error: `获取详情失败: ${e.message}` };
|
|
268
|
+
}
|
|
269
|
+
if (!detail?.title) {
|
|
270
|
+
const srcLabel = source === 'jm' ? '禁漫天堂' : '哔咔漫画';
|
|
271
|
+
return { success: false, title: '', password: '', chapterName: '', totalChapters: 0, chapters: [], error: `未找到该漫画 [${srcLabel} ID: ${targetId}]` };
|
|
272
|
+
}
|
|
273
|
+
if (!detail.chapters?.length) {
|
|
274
|
+
return { success: false, title: '', password: '', chapterName: '', totalChapters: 0, chapters: [], error: '该漫画没有可下载的章节' };
|
|
275
|
+
}
|
|
276
|
+
// 3. 确定章节
|
|
277
|
+
const chapter = chapterId
|
|
278
|
+
? detail.chapters.find(c => c.id === chapterId)
|
|
279
|
+
: detail.chapters[0];
|
|
280
|
+
if (!chapter) {
|
|
281
|
+
return { success: false, title: '', password: '', chapterName: '', totalChapters: 0, chapters: [], error: `未找到章节 ${chapterId}` };
|
|
282
|
+
}
|
|
283
|
+
const chapterName = chapter.name;
|
|
284
|
+
const totalChapters = detail.chapters.length;
|
|
285
|
+
const pdfPassword = config.pdfPassword || getPdfPassword(source, targetId, chapter.id);
|
|
286
|
+
// 4. 下载 PDF
|
|
287
|
+
if (!silent) {
|
|
288
|
+
if (!chapterId && totalChapters > 1) {
|
|
289
|
+
await session.send(`该漫画共 ${totalChapters} 话,正在下载第一话: ${chapterName}`);
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
await session.send(`正在下载「${detail.title} - ${chapterName}」...`);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
const downloadUrl = config.apiBase.replace(/\/+$/, '')
|
|
296
|
+
+ `/api/download/${source}/${targetId}/${chapter.id}`
|
|
297
|
+
+ `?title=${encodeURIComponent(detail.title)}`
|
|
298
|
+
+ `&chapter=${encodeURIComponent(chapterName)}`
|
|
299
|
+
+ `&password=${encodeURIComponent(pdfPassword)}`
|
|
300
|
+
+ `&concurrency=${config.concurrency}`;
|
|
301
|
+
if (config.logInfo)
|
|
302
|
+
logger.info(`Downloading: ${downloadUrl}`);
|
|
303
|
+
const response = await ctx.http.get(downloadUrl, { responseType: 'arraybuffer' });
|
|
304
|
+
const buffer = Buffer.from(response);
|
|
305
|
+
if (buffer.length < 100) {
|
|
306
|
+
return { success: false, title: '', password: '', chapterName: '', totalChapters: 0, chapters: [], error: '下载失败:返回数据异常' };
|
|
307
|
+
}
|
|
308
|
+
// 5. 发送文件
|
|
309
|
+
const cleanTitle = source === 'jm' ? `jm${targetId}` : sanitizeFilename(detail.title);
|
|
310
|
+
const filename = `${cleanTitle}.pdf`;
|
|
311
|
+
try {
|
|
312
|
+
if (config.pdfSendMethod === 'file') {
|
|
313
|
+
const tempDir = config.fileSendPath || '/koishi/temp';
|
|
314
|
+
await fs.promises.mkdir(tempDir, { recursive: true });
|
|
315
|
+
const tempFilePath = path.join(tempDir, filename);
|
|
316
|
+
await fs.promises.writeFile(tempFilePath, buffer);
|
|
317
|
+
const fileUrl = (0, url_1.pathToFileURL)(tempFilePath).href;
|
|
318
|
+
await session.send(koishi_1.h.file(fileUrl));
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
await session.send(koishi_1.h.file(buffer, 'application/pdf', { filename }));
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
catch (sendErr) {
|
|
325
|
+
logger.warn('发送 PDF 文件失败,尝试提供直接下载链接:', sendErr.message);
|
|
326
|
+
return { success: false, title: detail.title, password: pdfPassword, chapterName, totalChapters, chapters: detail.chapters, error: `发送文件失败,请手动下载: ${downloadUrl}` };
|
|
327
|
+
}
|
|
328
|
+
return {
|
|
329
|
+
success: true,
|
|
330
|
+
title: detail.title,
|
|
331
|
+
password: pdfPassword,
|
|
332
|
+
chapterName,
|
|
333
|
+
totalChapters,
|
|
334
|
+
chapters: detail.chapters,
|
|
335
|
+
};
|
|
336
|
+
}
|
|
142
337
|
const SUBCOMMANDS = ['search', 'download', 'detail', 'leaderboard', 'latest', 'random'];
|
|
143
338
|
// Parent command 'comic' routing logic
|
|
144
339
|
ctx.command('comic [keyword:text]', '聚合漫画搜索与直接下载')
|
|
@@ -149,9 +344,6 @@ function apply(ctx, config) {
|
|
|
149
344
|
return session.execute('help comic');
|
|
150
345
|
}
|
|
151
346
|
const clean = keyword.trim();
|
|
152
|
-
// 关键修复:当 keyword 以子命令名开头时,强制用点号形式转发到子命令。
|
|
153
|
-
// Koishi 的 `comic [keyword:text]` 贪婪参数会吞掉 `comic random` / `comic latest`
|
|
154
|
-
// 这类无参子命令,导致它们被当作搜索词处理。
|
|
155
347
|
const parts = clean.split(/\s+/);
|
|
156
348
|
const firstWord = parts[0].toLowerCase();
|
|
157
349
|
if (SUBCOMMANDS.includes(firstWord)) {
|
|
@@ -165,10 +357,8 @@ function apply(ctx, config) {
|
|
|
165
357
|
}
|
|
166
358
|
return session.execute(`comic.download ${resolved.id}`);
|
|
167
359
|
}
|
|
168
|
-
// Fallback to search
|
|
169
360
|
return session.execute(`comic.search ${keyword}`);
|
|
170
361
|
});
|
|
171
|
-
// 构建单个漫画的详情文本;失败返回 null
|
|
172
362
|
async function buildDetailText(source, id) {
|
|
173
363
|
try {
|
|
174
364
|
const detail = await apiGet(`/api/comic/${source}/${id}`);
|
|
@@ -240,14 +430,12 @@ function apply(ctx, config) {
|
|
|
240
430
|
else {
|
|
241
431
|
result = await apiGet('/api/search', { keyword });
|
|
242
432
|
}
|
|
243
|
-
// 各平台最多取 8 条
|
|
244
433
|
const jmItems = (result.all_results?.jm || []).slice(0, 8).map(c => ({ ...c, source: 'jm' }));
|
|
245
434
|
const bikaItems = (result.all_results?.bika || []).slice(0, 8).map(c => ({ ...c, source: 'bika' }));
|
|
246
435
|
const totalResults = jmItems.length + bikaItems.length;
|
|
247
436
|
if (totalResults === 0) {
|
|
248
437
|
return `没有找到关于「${keyword}」的漫画。`;
|
|
249
438
|
}
|
|
250
|
-
// 统一编号:禁漫在前,哔咔在后,供回复序号下载
|
|
251
439
|
const all = [];
|
|
252
440
|
const jmLines = [];
|
|
253
441
|
const bikaLines = [];
|
|
@@ -263,7 +451,6 @@ function apply(ctx, config) {
|
|
|
263
451
|
idx++;
|
|
264
452
|
}
|
|
265
453
|
if (!session) {
|
|
266
|
-
// 无会话环境(理论上不会发生),降级为纯文本
|
|
267
454
|
const lines = [];
|
|
268
455
|
if (jmLines.length)
|
|
269
456
|
lines.push('【 禁漫天堂 (JMComic) 】', ...jmLines);
|
|
@@ -271,7 +458,6 @@ function apply(ctx, config) {
|
|
|
271
458
|
lines.push('【 哔咔漫画 (Bika) 】', ...bikaLines);
|
|
272
459
|
return lines.join('\n');
|
|
273
460
|
}
|
|
274
|
-
// 合并转发:禁漫一条、哔咔一条
|
|
275
461
|
const msgElements = [];
|
|
276
462
|
let header = `🔍 关键词「${keyword}」共找到 ${totalResults} 个结果`;
|
|
277
463
|
if (result.best_match?.title) {
|
|
@@ -303,7 +489,7 @@ function apply(ctx, config) {
|
|
|
303
489
|
targetId = match[1].trim();
|
|
304
490
|
}
|
|
305
491
|
else {
|
|
306
|
-
return;
|
|
492
|
+
return;
|
|
307
493
|
}
|
|
308
494
|
}
|
|
309
495
|
if (targetId) {
|
|
@@ -323,104 +509,18 @@ function apply(ctx, config) {
|
|
|
323
509
|
return '用法: comic download <ID> [章节ID]';
|
|
324
510
|
if (!session)
|
|
325
511
|
return '此命令仅支持在会话中使用';
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
if (resolved) {
|
|
330
|
-
source = resolved.source;
|
|
331
|
-
targetId = resolved.id;
|
|
512
|
+
const result = await doDownload(session, id, chapterId);
|
|
513
|
+
if (!result.success) {
|
|
514
|
+
return result.error || '下载失败';
|
|
332
515
|
}
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
if (jmList.length > 0) {
|
|
340
|
-
source = 'jm';
|
|
341
|
-
targetId = jmList[0].id;
|
|
342
|
-
}
|
|
343
|
-
else if (bikaList.length > 0) {
|
|
344
|
-
source = 'bika';
|
|
345
|
-
targetId = bikaList[0].id;
|
|
346
|
-
}
|
|
347
|
-
else {
|
|
348
|
-
return '未找到相关漫画,请尝试其他关键词或输入正确的ID。';
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
catch (err) {
|
|
352
|
-
return `搜索本子名失败: ${err.message}`;
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
try {
|
|
356
|
-
await session.send('正在获取漫画详情...');
|
|
357
|
-
let detail;
|
|
358
|
-
try {
|
|
359
|
-
detail = await apiGet(`/api/comic/${source}/${targetId}`);
|
|
360
|
-
}
|
|
361
|
-
catch (e) {
|
|
362
|
-
return `获取详情失败(后端请求出错):${e.message}\n可能原因:comic-api 未启动、源站反爬拦截或 ID 不存在。`;
|
|
363
|
-
}
|
|
364
|
-
if (!detail?.title) {
|
|
365
|
-
const srcLabel = source === 'jm' ? '禁漫天堂' : '哔咔漫画';
|
|
366
|
-
return `未找到该漫画 [${srcLabel} ID: ${targetId}]\n请确认 ID 是否正确;若是哔咔需先登录,禁漫可能被源站临时拦截。`;
|
|
367
|
-
}
|
|
368
|
-
if (!detail.chapters?.length)
|
|
369
|
-
return '该漫画没有可下载的章节';
|
|
370
|
-
const chapter = chapterId
|
|
371
|
-
? detail.chapters.find(c => c.id === chapterId)
|
|
372
|
-
: detail.chapters[0];
|
|
373
|
-
if (!chapter)
|
|
374
|
-
return `未找到章节 ${chapterId}`;
|
|
375
|
-
const chapterName = chapter.name;
|
|
376
|
-
const totalChapters = detail.chapters.length;
|
|
377
|
-
if (!chapterId && totalChapters > 1) {
|
|
378
|
-
await session.send(`该漫画共 ${totalChapters} 话,正在下载第一话: ${chapterName}`);
|
|
379
|
-
}
|
|
380
|
-
await session.send(`正在下载「${detail.title} - ${chapterName}」...`);
|
|
381
|
-
const pdfPassword = config.pdfPassword || getPdfPassword(source, targetId, chapter.id);
|
|
382
|
-
const downloadUrl = config.apiBase.replace(/\/+$/, '')
|
|
383
|
-
+ `/api/download/${source}/${targetId}/${chapter.id}`
|
|
384
|
-
+ `?title=${encodeURIComponent(detail.title)}`
|
|
385
|
-
+ `&chapter=${encodeURIComponent(chapterName)}`
|
|
386
|
-
+ `&password=${encodeURIComponent(pdfPassword)}`
|
|
387
|
-
+ `&concurrency=${config.concurrency}`;
|
|
388
|
-
if (config.logInfo)
|
|
389
|
-
logger.info(`Downloading: ${downloadUrl}`);
|
|
390
|
-
const response = await ctx.http.get(downloadUrl, { responseType: 'arraybuffer' });
|
|
391
|
-
const buffer = Buffer.from(response);
|
|
392
|
-
if (buffer.length < 100) {
|
|
393
|
-
return '下载失败:返回数据异常';
|
|
394
|
-
}
|
|
395
|
-
const cleanTitle = source === 'jm' ? `jm${targetId}` : sanitizeFilename(detail.title);
|
|
396
|
-
const filename = `${cleanTitle}.pdf`;
|
|
397
|
-
try {
|
|
398
|
-
if (config.pdfSendMethod === 'file') {
|
|
399
|
-
const tempDir = config.fileSendPath || '/koishi/temp';
|
|
400
|
-
await fs.promises.mkdir(tempDir, { recursive: true });
|
|
401
|
-
const tempFilePath = path.join(tempDir, filename);
|
|
402
|
-
await fs.promises.writeFile(tempFilePath, buffer);
|
|
403
|
-
const fileUrl = (0, url_1.pathToFileURL)(tempFilePath).href;
|
|
404
|
-
await session.send(koishi_1.h.file(fileUrl));
|
|
405
|
-
}
|
|
406
|
-
else {
|
|
407
|
-
await session.send(koishi_1.h.file(buffer, 'application/pdf', { filename }));
|
|
408
|
-
}
|
|
409
|
-
await session.send(`🔑 该 PDF 已加密,解密密码为:${pdfPassword}`);
|
|
410
|
-
}
|
|
411
|
-
catch (sendErr) {
|
|
412
|
-
logger.warn('发送 PDF 文件失败,尝试提供直接下载链接:', sendErr.message);
|
|
413
|
-
await session.send(`⚠️ 发送 PDF 文件失败,请通过以下链接直接下载:\n🔗 ${downloadUrl}\n🔑 解密密码为:${pdfPassword}`);
|
|
414
|
-
}
|
|
415
|
-
if (totalChapters > 1 && !chapterId) {
|
|
416
|
-
return `这是第一话,共 ${totalChapters} 话。如需其他话请指定章节ID。\n章节列表:\n${detail.chapters.slice(0, 20).map((ch, i) => `${i + 1}. [${ch.id}] ${ch.name}`).join('\n')}${totalChapters > 20 ? `\n... 共 ${totalChapters} 话` : ''}`;
|
|
417
|
-
}
|
|
418
|
-
return '下载完成!';
|
|
419
|
-
}
|
|
420
|
-
catch (err) {
|
|
421
|
-
logger.error('下载失败:', err.message);
|
|
422
|
-
return `下载失败: ${err.message}`;
|
|
516
|
+
// 发送密码(文件已在 doDownload 中发送)
|
|
517
|
+
await session.send(`🔑 该 PDF 已加密,解密密码为:${result.password}`);
|
|
518
|
+
if (result.totalChapters > 1 && !chapterId) {
|
|
519
|
+
const chapterList = result.chapters.slice(0, 20).map((ch, i) => `${i + 1}. [${ch.id}] ${ch.name}`).join('\n');
|
|
520
|
+
const more = result.totalChapters > 20 ? `\n... 共 ${result.totalChapters} 话` : '';
|
|
521
|
+
return `这是第一话,共 ${result.totalChapters} 话。如需其他话请指定章节ID。\n章节列表:\n${chapterList}${more}`;
|
|
423
522
|
}
|
|
523
|
+
return '下载完成!';
|
|
424
524
|
});
|
|
425
525
|
// comic detail <id>
|
|
426
526
|
ctx.command('comic.detail <id:text>', '查看漫画详情')
|
|
@@ -429,12 +529,10 @@ function apply(ctx, config) {
|
|
|
429
529
|
return '用法: comic detail <关键词> 或 comic detail <ID>';
|
|
430
530
|
if (!session)
|
|
431
531
|
return '此命令仅支持在会话中使用';
|
|
432
|
-
// 直接给定 ID/源:只查该来源
|
|
433
532
|
const resolved = determineSource(query);
|
|
434
533
|
if (resolved) {
|
|
435
534
|
return fetchAndShowDetail(session, resolved.source, resolved.id);
|
|
436
535
|
}
|
|
437
|
-
// 关键词模式:禁漫和哔咔各取 best 匹配,分别展示详情
|
|
438
536
|
try {
|
|
439
537
|
await session.send('正在搜索并获取详情...');
|
|
440
538
|
const result = await apiGet('/api/search', { keyword: query });
|
|
@@ -465,7 +563,6 @@ function apply(ctx, config) {
|
|
|
465
563
|
.action(async ({ session }, mode, page) => {
|
|
466
564
|
if (!session)
|
|
467
565
|
return '此命令仅支持在会话中使用';
|
|
468
|
-
// 未指定类型默认日榜(最新的当日榜单)
|
|
469
566
|
const targetMode = (mode || 'day').toLowerCase();
|
|
470
567
|
if (!['day', 'week', 'month', 'total'].includes(targetMode)) {
|
|
471
568
|
return 'mode 必须是 day/week/month/total';
|
|
@@ -486,10 +583,8 @@ function apply(ctx, config) {
|
|
|
486
583
|
const jmOk = jmResult && jmResult.success !== false && jmResult.data?.length;
|
|
487
584
|
const bikaOk = bikaResult && bikaResult.success !== false && bikaResult.data?.length;
|
|
488
585
|
const jmText = `【 禁漫天堂 (JMComic) ${modeMap[targetMode]} · 第${targetPage}页 】\n` + (jmOk ? formatList(jmResult.data) : '暂无数据或获取失败');
|
|
489
|
-
// 哔咔无总榜,自动回退日榜
|
|
490
586
|
const bikaModeLabel = targetMode === 'total' ? '日榜(哔咔无总榜)' : modeMap[targetMode];
|
|
491
587
|
const bikaText = `【 哔咔漫画 (Bika) ${bikaModeLabel} · 第${targetPage}页 】\n` + (bikaOk ? formatList(bikaResult.data) : '暂无数据或获取失败(哔咔需先登录)');
|
|
492
|
-
// 禁漫、哔咔分成 2 条独立消息发送
|
|
493
588
|
await session.send(jmText);
|
|
494
589
|
await session.send(bikaText);
|
|
495
590
|
return;
|
|
@@ -499,7 +594,6 @@ function apply(ctx, config) {
|
|
|
499
594
|
return `获取排行榜失败: ${err.message}`;
|
|
500
595
|
}
|
|
501
596
|
});
|
|
502
|
-
// 翻页累积拉取,直到达到 limit 条或没有更多(最多翻 maxPages 页防止狂刷后端)
|
|
503
597
|
async function fetchUpTo(source, endpoint, limit, maxPages = 5) {
|
|
504
598
|
const acc = [];
|
|
505
599
|
for (let page = 1; page <= maxPages && acc.length < limit; page++) {
|
|
@@ -539,7 +633,6 @@ function apply(ctx, config) {
|
|
|
539
633
|
};
|
|
540
634
|
const jmText = `【 禁漫天堂 (JMComic) 最近更新 · ${jmItems.length}条 】\n` + formatList(jmItems);
|
|
541
635
|
const bikaText = `【 哔咔漫画 (Bika) 最近更新 · ${bikaItems.length}条 】\n` + (bikaItems.length ? formatList(bikaItems) : '暂无数据或获取失败(哔咔需先登录)');
|
|
542
|
-
// 禁漫、哔咔分成 2 条独立消息发送
|
|
543
636
|
await session.send(jmText);
|
|
544
637
|
await session.send(bikaText);
|
|
545
638
|
return;
|
|
@@ -549,7 +642,6 @@ function apply(ctx, config) {
|
|
|
549
642
|
return `获取最近更新失败: ${err.message}`;
|
|
550
643
|
}
|
|
551
644
|
});
|
|
552
|
-
// 随机推荐:多次调用累积去重,直到达到 limit 条或尝试上限
|
|
553
645
|
async function fetchRandomUpTo(source, limit, maxTries = 4) {
|
|
554
646
|
const map = new Map();
|
|
555
647
|
for (let i = 0; i < maxTries && map.size < limit; i++) {
|
|
@@ -588,7 +680,6 @@ function apply(ctx, config) {
|
|
|
588
680
|
const jmText = formatList(jmItems, '禁漫天堂');
|
|
589
681
|
const bikaText = bikaItems.length ? formatList(bikaItems, '哔咔漫画') : '🎲 哔咔漫画 随机推荐\n暂无数据或获取失败(哔咔需先登录)';
|
|
590
682
|
if (session) {
|
|
591
|
-
// 禁漫、哔咔分成 2 条独立消息发送
|
|
592
683
|
await session.send(jmText);
|
|
593
684
|
await session.send(bikaText);
|
|
594
685
|
await session.send('💡 如需下载,请使用 comic download <ID>');
|
|
@@ -596,58 +687,10 @@ function apply(ctx, config) {
|
|
|
596
687
|
}
|
|
597
688
|
return [jmText, '', bikaText].join('\n');
|
|
598
689
|
});
|
|
599
|
-
// ==========
|
|
600
|
-
|
|
601
|
-
if (!config.tool.enabled)
|
|
602
|
-
return;
|
|
603
|
-
const toolName = (config.tool.name || 'comic').trim() || 'comic';
|
|
604
|
-
ctx.effect(() => ctx.chatluna.platform.registerTool(toolName, {
|
|
605
|
-
description: config.tool.description || '漫画搜索与下载工具',
|
|
606
|
-
selector() {
|
|
607
|
-
return true;
|
|
608
|
-
},
|
|
609
|
-
createTool() {
|
|
610
|
-
return createComicTool(ctx, config);
|
|
611
|
-
},
|
|
612
|
-
meta: {
|
|
613
|
-
source: 'extension',
|
|
614
|
-
group: 'comic',
|
|
615
|
-
tags: ['comic', 'manga', 'jmcomic', 'bika'],
|
|
616
|
-
defaultAvailability: {
|
|
617
|
-
enabled: true,
|
|
618
|
-
main: true,
|
|
619
|
-
chatluna: true,
|
|
620
|
-
characterScope: 'all',
|
|
621
|
-
},
|
|
622
|
-
},
|
|
623
|
-
}));
|
|
624
|
-
logger.info(`ChatLuna 工具「${toolName}」已注册`);
|
|
625
|
-
});
|
|
626
|
-
}
|
|
627
|
-
const comicToolSchema = zod_1.z.object({
|
|
628
|
-
action: zod_1.z.enum(['search', 'detail', 'leaderboard', 'latest', 'random', 'download'])
|
|
629
|
-
.describe('操作类型:search=搜索, detail=详情, leaderboard=排行榜, latest=最近更新, random=随机推荐, download=下载漫画/本子并发送给用户'),
|
|
630
|
-
keyword: zod_1.z.string().optional()
|
|
631
|
-
.describe('搜索关键词(action=search 时必填)'),
|
|
632
|
-
source: zod_1.z.enum(['jm', 'bika']).optional()
|
|
633
|
-
.describe('漫画源:jm=禁漫天堂, bika=哔咔漫画。不填则根据需要自动检测或使用默认源'),
|
|
634
|
-
comic_id: zod_1.z.string().optional()
|
|
635
|
-
.describe('漫画ID(action=detail 或 action=download 时必填)'),
|
|
636
|
-
chapter_id: zod_1.z.string().optional()
|
|
637
|
-
.describe('章节ID(action=download 时选填,不填默认下载第一话)'),
|
|
638
|
-
mode: zod_1.z.enum(['day', 'week', 'month', 'total']).optional()
|
|
639
|
-
.describe('排行榜时间维度(action=leaderboard 时使用):day=日榜, week=周榜, month=月榜, total=总榜'),
|
|
640
|
-
page: zod_1.z.number().int().min(1).optional()
|
|
641
|
-
.describe('页码,默认1'),
|
|
642
|
-
});
|
|
643
|
-
function createComicTool(ctx, cfg) {
|
|
644
|
-
const description = (cfg.tool.description || '').trim() || '漫画搜索与下载工具。支持禁漫天堂(JM)和哔咔漫画(Bika)双平台。包含动作:search (搜索), detail (查看详情), leaderboard (排行榜), latest (最近更新), random (随机推荐), download (下载本子并发送)。提示:如果用户给出的本子名、角色名或关键词模糊、包含缩写或拼写不够精确,或者使用该工具搜索未返回结果,你必须先调用联网搜索工具检索获取该本子的准确正式名称、画师/作者或完整标题,然后再用精准的关键词调用此工具。';
|
|
645
|
-
const name = (cfg.tool.name || 'comic').trim() || 'comic';
|
|
646
|
-
return (0, tools_1.tool)(async (input, runConfig) => {
|
|
647
|
-
const logger = ctx.logger('comic');
|
|
648
|
-
const source = input.source || 'jm';
|
|
690
|
+
// ========== 工具创建函数 ==========
|
|
691
|
+
function createToolApi(cfg) {
|
|
649
692
|
const apiBase = cfg.apiBase.replace(/\/+$/, '');
|
|
650
|
-
|
|
693
|
+
return async (path, params) => {
|
|
651
694
|
let url = apiBase + path;
|
|
652
695
|
if (params) {
|
|
653
696
|
const qs = new URLSearchParams(params).toString();
|
|
@@ -656,59 +699,89 @@ function createComicTool(ctx, cfg) {
|
|
|
656
699
|
}
|
|
657
700
|
return ctx.http.get(url);
|
|
658
701
|
};
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
return JSON.stringify({ error: '无法获取当前会话,不支持下载操作。请让用户在聊天界面直接使用 comic 命令或 comic.download 命令手动下载。' });
|
|
668
|
-
}
|
|
669
|
-
const cmd = input.chapter_id ? `comic.download ${input.comic_id} ${input.chapter_id}` : `comic.download ${input.comic_id}`;
|
|
670
|
-
session.execute(cmd);
|
|
671
|
-
return JSON.stringify({ success: true, message: `已在后台启动漫画下载,命令为: ${cmd}。请告知用户正在下载,并让其留意后续接收的 PDF 文件与密码。` });
|
|
702
|
+
}
|
|
703
|
+
function createComicSearchTool(cfg) {
|
|
704
|
+
const toolCfg = cfg.comicSearchTool;
|
|
705
|
+
return (0, tools_1.tool)(async (input) => {
|
|
706
|
+
const apiGetTool = createToolApi(cfg);
|
|
707
|
+
try {
|
|
708
|
+
if (!input.keyword) {
|
|
709
|
+
return JSON.stringify({ error: '搜索时 keyword 不能为空' });
|
|
672
710
|
}
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
}
|
|
677
|
-
const result = await apiGet('/api/search', { keyword: input.keyword });
|
|
678
|
-
const jmList = result.all_results?.jm || [];
|
|
679
|
-
const bikaList = result.all_results?.bika || [];
|
|
680
|
-
const all = [
|
|
681
|
-
...jmList.map(c => ({ ...c, source: 'jm' })),
|
|
682
|
-
...bikaList.map(c => ({ ...c, source: 'bika' })),
|
|
683
|
-
];
|
|
684
|
-
return JSON.stringify({
|
|
685
|
-
keyword: input.keyword,
|
|
686
|
-
best_match: result.best_match,
|
|
687
|
-
total: all.length,
|
|
688
|
-
results: all.slice(0, 20),
|
|
689
|
-
});
|
|
711
|
+
const source = input.source;
|
|
712
|
+
let result;
|
|
713
|
+
if (source) {
|
|
714
|
+
result = await apiGetTool('/api/search', { keyword: input.keyword, source });
|
|
690
715
|
}
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
return JSON.stringify({ error: '查看详情时 comic_id 不能为空' });
|
|
694
|
-
}
|
|
695
|
-
const detail = await apiGet(`/api/comic/${source}/${input.comic_id}`);
|
|
696
|
-
if (!detail?.title) {
|
|
697
|
-
return JSON.stringify({ error: '未找到该漫画' });
|
|
698
|
-
}
|
|
699
|
-
return JSON.stringify({
|
|
700
|
-
title: detail.title,
|
|
701
|
-
author: detail.author,
|
|
702
|
-
description: detail.description,
|
|
703
|
-
source: detail.source || source,
|
|
704
|
-
chapter_count: detail.chapters?.length || 0,
|
|
705
|
-
chapters: detail.chapters?.slice(0, 30) || [],
|
|
706
|
-
});
|
|
716
|
+
else {
|
|
717
|
+
result = await apiGetTool('/api/search', { keyword: input.keyword });
|
|
707
718
|
}
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
719
|
+
const jmList = result.all_results?.jm || [];
|
|
720
|
+
const bikaList = result.all_results?.bika || [];
|
|
721
|
+
const all = [
|
|
722
|
+
...jmList.map(c => ({ ...c, source: 'jm' })),
|
|
723
|
+
...bikaList.map(c => ({ ...c, source: 'bika' })),
|
|
724
|
+
];
|
|
725
|
+
// 只返回前5条,避免AI逐条罗列
|
|
726
|
+
return JSON.stringify({
|
|
727
|
+
keyword: input.keyword,
|
|
728
|
+
best_match: result.best_match,
|
|
729
|
+
total: all.length,
|
|
730
|
+
results: all.slice(0, 5),
|
|
731
|
+
});
|
|
732
|
+
}
|
|
733
|
+
catch (err) {
|
|
734
|
+
return JSON.stringify({ error: err.message || '搜索请求失败' });
|
|
735
|
+
}
|
|
736
|
+
}, {
|
|
737
|
+
name: toolCfg.name || 'comic_search',
|
|
738
|
+
description: toolCfg.description || '搜索漫画',
|
|
739
|
+
schema: comicSearchSchema,
|
|
740
|
+
});
|
|
741
|
+
}
|
|
742
|
+
function createComicDetailTool(cfg) {
|
|
743
|
+
const toolCfg = cfg.comicDetailTool;
|
|
744
|
+
return (0, tools_1.tool)(async (input) => {
|
|
745
|
+
const apiGetTool = createToolApi(cfg);
|
|
746
|
+
try {
|
|
747
|
+
if (!input.comic_id) {
|
|
748
|
+
return JSON.stringify({ error: '查看详情时 comic_id 不能为空' });
|
|
749
|
+
}
|
|
750
|
+
const resolved = determineSource(input.comic_id);
|
|
751
|
+
const source = input.source || resolved?.source || 'jm';
|
|
752
|
+
const id = resolved?.id || input.comic_id;
|
|
753
|
+
const detail = await apiGetTool(`/api/comic/${source}/${id}`);
|
|
754
|
+
if (!detail?.title) {
|
|
755
|
+
return JSON.stringify({ error: '未找到该漫画' });
|
|
756
|
+
}
|
|
757
|
+
return JSON.stringify({
|
|
758
|
+
title: detail.title,
|
|
759
|
+
author: detail.author,
|
|
760
|
+
description: detail.description,
|
|
761
|
+
source: detail.source || source,
|
|
762
|
+
chapter_count: detail.chapters?.length || 0,
|
|
763
|
+
chapters: detail.chapters?.slice(0, 30) || [],
|
|
764
|
+
});
|
|
765
|
+
}
|
|
766
|
+
catch (err) {
|
|
767
|
+
return JSON.stringify({ error: err.message || '查询详情失败' });
|
|
768
|
+
}
|
|
769
|
+
}, {
|
|
770
|
+
name: toolCfg.name || 'comic_detail',
|
|
771
|
+
description: toolCfg.description || '查看漫画详情',
|
|
772
|
+
schema: comicDetailSchema,
|
|
773
|
+
});
|
|
774
|
+
}
|
|
775
|
+
function createComicLeaderboardTool(cfg) {
|
|
776
|
+
const toolCfg = cfg.comicLeaderboardTool;
|
|
777
|
+
return (0, tools_1.tool)(async (input) => {
|
|
778
|
+
const apiGetTool = createToolApi(cfg);
|
|
779
|
+
try {
|
|
780
|
+
const mode = input.mode || 'day';
|
|
781
|
+
const page = String(input.page || 1);
|
|
782
|
+
const source = input.source;
|
|
783
|
+
if (source) {
|
|
784
|
+
const result = await apiGetTool(`/api/${source}/leaderboard`, { mode, page });
|
|
712
785
|
return JSON.stringify({
|
|
713
786
|
source,
|
|
714
787
|
mode,
|
|
@@ -717,35 +790,216 @@ function createComicTool(ctx, cfg) {
|
|
|
717
790
|
results: result.data || [],
|
|
718
791
|
});
|
|
719
792
|
}
|
|
720
|
-
|
|
721
|
-
const
|
|
722
|
-
|
|
793
|
+
else {
|
|
794
|
+
const [jmResult, bikaResult] = await Promise.all([
|
|
795
|
+
apiGetTool(`/api/jm/leaderboard`, { mode, page }).catch(() => null),
|
|
796
|
+
apiGetTool(`/api/bika/leaderboard`, { mode, page }).catch(() => null),
|
|
797
|
+
]);
|
|
723
798
|
return JSON.stringify({
|
|
724
|
-
|
|
799
|
+
mode,
|
|
725
800
|
page: Number(page),
|
|
801
|
+
jm: {
|
|
802
|
+
total: jmResult?.data?.length || 0,
|
|
803
|
+
results: jmResult?.data || [],
|
|
804
|
+
},
|
|
805
|
+
bika: {
|
|
806
|
+
total: bikaResult?.data?.length || 0,
|
|
807
|
+
results: bikaResult?.data || [],
|
|
808
|
+
},
|
|
809
|
+
});
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
catch (err) {
|
|
813
|
+
return JSON.stringify({ error: err.message || '获取排行榜失败' });
|
|
814
|
+
}
|
|
815
|
+
}, {
|
|
816
|
+
name: toolCfg.name || 'comic_leaderboard',
|
|
817
|
+
description: toolCfg.description || '查看漫画排行榜',
|
|
818
|
+
schema: comicLeaderboardSchema,
|
|
819
|
+
});
|
|
820
|
+
}
|
|
821
|
+
function createComicLatestTool(cfg) {
|
|
822
|
+
const toolCfg = cfg.comicLatestTool;
|
|
823
|
+
return (0, tools_1.tool)(async (input) => {
|
|
824
|
+
const apiGetTool = createToolApi(cfg);
|
|
825
|
+
try {
|
|
826
|
+
const source = input.source;
|
|
827
|
+
if (source) {
|
|
828
|
+
const result = await apiGetTool(`/api/${source}/latest`, { page: '1' });
|
|
829
|
+
return JSON.stringify({
|
|
830
|
+
source,
|
|
726
831
|
total: result.data?.length || 0,
|
|
727
832
|
results: result.data || [],
|
|
728
833
|
});
|
|
729
834
|
}
|
|
730
|
-
|
|
731
|
-
const
|
|
835
|
+
else {
|
|
836
|
+
const [jmResult, bikaResult] = await Promise.all([
|
|
837
|
+
apiGetTool('/api/jm/latest', { page: '1' }).catch(() => null),
|
|
838
|
+
apiGetTool('/api/bika/latest', { page: '1' }).catch(() => null),
|
|
839
|
+
]);
|
|
840
|
+
return JSON.stringify({
|
|
841
|
+
jm: {
|
|
842
|
+
total: jmResult?.data?.length || 0,
|
|
843
|
+
results: jmResult?.data || [],
|
|
844
|
+
},
|
|
845
|
+
bika: {
|
|
846
|
+
total: bikaResult?.data?.length || 0,
|
|
847
|
+
results: bikaResult?.data || [],
|
|
848
|
+
},
|
|
849
|
+
});
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
catch (err) {
|
|
853
|
+
return JSON.stringify({ error: err.message || '获取最近更新失败' });
|
|
854
|
+
}
|
|
855
|
+
}, {
|
|
856
|
+
name: toolCfg.name || 'comic_latest',
|
|
857
|
+
description: toolCfg.description || '查看最近更新的漫画',
|
|
858
|
+
schema: comicLatestSchema,
|
|
859
|
+
});
|
|
860
|
+
}
|
|
861
|
+
function createComicRandomTool(cfg) {
|
|
862
|
+
const toolCfg = cfg.comicRandomTool;
|
|
863
|
+
return (0, tools_1.tool)(async (input) => {
|
|
864
|
+
const apiGetTool = createToolApi(cfg);
|
|
865
|
+
try {
|
|
866
|
+
const source = input.source;
|
|
867
|
+
if (source) {
|
|
868
|
+
const result = await apiGetTool(`/api/${source}/random`);
|
|
732
869
|
return JSON.stringify({
|
|
733
870
|
source,
|
|
734
871
|
result: result.data || null,
|
|
735
872
|
});
|
|
736
873
|
}
|
|
737
|
-
|
|
738
|
-
|
|
874
|
+
else {
|
|
875
|
+
const [jmResult, bikaResult] = await Promise.all([
|
|
876
|
+
apiGetTool('/api/jm/random').catch(() => null),
|
|
877
|
+
apiGetTool('/api/bika/random').catch(() => null),
|
|
878
|
+
]);
|
|
879
|
+
return JSON.stringify({
|
|
880
|
+
jm: jmResult?.data || null,
|
|
881
|
+
bika: bikaResult?.data || null,
|
|
882
|
+
});
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
catch (err) {
|
|
886
|
+
return JSON.stringify({ error: err.message || '获取随机推荐失败' });
|
|
887
|
+
}
|
|
888
|
+
}, {
|
|
889
|
+
name: toolCfg.name || 'comic_random',
|
|
890
|
+
description: toolCfg.description || '随机推荐漫画',
|
|
891
|
+
schema: comicRandomSchema,
|
|
892
|
+
});
|
|
893
|
+
}
|
|
894
|
+
function createComicDownloadTool(cfg) {
|
|
895
|
+
const toolCfg = cfg.comicDownloadTool;
|
|
896
|
+
return (0, tools_1.tool)(async (input, runConfig) => {
|
|
897
|
+
try {
|
|
898
|
+
if (!input.comic_id) {
|
|
899
|
+
return JSON.stringify({ error: '下载漫画时 comic_id 不能为空' });
|
|
900
|
+
}
|
|
901
|
+
const session = runConfig?.configurable?.session;
|
|
902
|
+
if (!session) {
|
|
903
|
+
return JSON.stringify({ error: '无法获取当前会话,不支持下载操作。请让用户在聊天界面直接使用 comic download 命令手动下载。' });
|
|
904
|
+
}
|
|
905
|
+
const result = await doDownload(session, input.comic_id, input.chapter_id, { silent: true });
|
|
906
|
+
if (!result.success) {
|
|
907
|
+
return JSON.stringify({ error: result.error || '下载失败' });
|
|
908
|
+
}
|
|
909
|
+
const chapterInfo = result.totalChapters > 1
|
|
910
|
+
? `(第1话/共${result.totalChapters}话)`
|
|
911
|
+
: '';
|
|
912
|
+
return JSON.stringify({
|
|
913
|
+
success: true,
|
|
914
|
+
title: result.title,
|
|
915
|
+
password: result.password,
|
|
916
|
+
chapter_name: result.chapterName,
|
|
917
|
+
total_chapters: result.totalChapters,
|
|
918
|
+
hint: `PDF文件已自动发送到聊天中。请用一句话告知用户:已下载《${result.title}》${chapterInfo},密码 ${result.password}。不要列出搜索结果、不要叙述下载过程。`,
|
|
919
|
+
});
|
|
739
920
|
}
|
|
921
|
+
catch (err) {
|
|
922
|
+
return JSON.stringify({ error: err.message || '下载请求失败' });
|
|
923
|
+
}
|
|
924
|
+
}, {
|
|
925
|
+
name: toolCfg.name || 'comic_download',
|
|
926
|
+
description: toolCfg.description || '下载漫画/本子并发送给用户',
|
|
927
|
+
schema: comicDownloadSchema,
|
|
928
|
+
});
|
|
929
|
+
}
|
|
930
|
+
// ========== ChatLuna 工具注册 ==========
|
|
931
|
+
ctx.on('ready', async () => {
|
|
932
|
+
const meta = {
|
|
933
|
+
source: 'extension',
|
|
934
|
+
group: 'comic',
|
|
935
|
+
tags: ['comic', 'manga', 'jmcomic', 'bika'],
|
|
936
|
+
defaultAvailability: {
|
|
937
|
+
enabled: true,
|
|
938
|
+
main: true,
|
|
939
|
+
chatluna: true,
|
|
940
|
+
characterScope: 'all',
|
|
941
|
+
},
|
|
942
|
+
};
|
|
943
|
+
if (config.comicSearchTool.enabled) {
|
|
944
|
+
const toolName = config.comicSearchTool.name || 'comic_search';
|
|
945
|
+
ctx.effect(() => ctx.chatluna.platform.registerTool(toolName, {
|
|
946
|
+
description: config.comicSearchTool.description || '搜索漫画',
|
|
947
|
+
selector() { return true; },
|
|
948
|
+
createTool() { return createComicSearchTool(config); },
|
|
949
|
+
meta,
|
|
950
|
+
}));
|
|
951
|
+
logger.info(`ChatLuna 工具「${toolName}」已注册`);
|
|
740
952
|
}
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
953
|
+
if (config.comicDetailTool.enabled) {
|
|
954
|
+
const toolName = config.comicDetailTool.name || 'comic_detail';
|
|
955
|
+
ctx.effect(() => ctx.chatluna.platform.registerTool(toolName, {
|
|
956
|
+
description: config.comicDetailTool.description || '查看漫画详情',
|
|
957
|
+
selector() { return true; },
|
|
958
|
+
createTool() { return createComicDetailTool(config); },
|
|
959
|
+
meta,
|
|
960
|
+
}));
|
|
961
|
+
logger.info(`ChatLuna 工具「${toolName}」已注册`);
|
|
962
|
+
}
|
|
963
|
+
if (config.comicLeaderboardTool.enabled) {
|
|
964
|
+
const toolName = config.comicLeaderboardTool.name || 'comic_leaderboard';
|
|
965
|
+
ctx.effect(() => ctx.chatluna.platform.registerTool(toolName, {
|
|
966
|
+
description: config.comicLeaderboardTool.description || '查看漫画排行榜',
|
|
967
|
+
selector() { return true; },
|
|
968
|
+
createTool() { return createComicLeaderboardTool(config); },
|
|
969
|
+
meta,
|
|
970
|
+
}));
|
|
971
|
+
logger.info(`ChatLuna 工具「${toolName}」已注册`);
|
|
972
|
+
}
|
|
973
|
+
if (config.comicLatestTool.enabled) {
|
|
974
|
+
const toolName = config.comicLatestTool.name || 'comic_latest';
|
|
975
|
+
ctx.effect(() => ctx.chatluna.platform.registerTool(toolName, {
|
|
976
|
+
description: config.comicLatestTool.description || '查看最近更新的漫画',
|
|
977
|
+
selector() { return true; },
|
|
978
|
+
createTool() { return createComicLatestTool(config); },
|
|
979
|
+
meta,
|
|
980
|
+
}));
|
|
981
|
+
logger.info(`ChatLuna 工具「${toolName}」已注册`);
|
|
982
|
+
}
|
|
983
|
+
if (config.comicRandomTool.enabled) {
|
|
984
|
+
const toolName = config.comicRandomTool.name || 'comic_random';
|
|
985
|
+
ctx.effect(() => ctx.chatluna.platform.registerTool(toolName, {
|
|
986
|
+
description: config.comicRandomTool.description || '随机推荐漫画',
|
|
987
|
+
selector() { return true; },
|
|
988
|
+
createTool() { return createComicRandomTool(config); },
|
|
989
|
+
meta,
|
|
990
|
+
}));
|
|
991
|
+
logger.info(`ChatLuna 工具「${toolName}」已注册`);
|
|
992
|
+
}
|
|
993
|
+
if (config.comicDownloadTool.enabled) {
|
|
994
|
+
const toolName = config.comicDownloadTool.name || 'comic_download';
|
|
995
|
+
ctx.effect(() => ctx.chatluna.platform.registerTool(toolName, {
|
|
996
|
+
description: config.comicDownloadTool.description || '下载漫画/本子并发送给用户',
|
|
997
|
+
selector() { return true; },
|
|
998
|
+
createTool() { return createComicDownloadTool(config); },
|
|
999
|
+
meta,
|
|
1000
|
+
}));
|
|
1001
|
+
logger.info(`ChatLuna 工具「${toolName}」已注册`);
|
|
744
1002
|
}
|
|
745
|
-
}, {
|
|
746
|
-
name,
|
|
747
|
-
description,
|
|
748
|
-
schema: comicToolSchema,
|
|
749
1003
|
});
|
|
750
1004
|
}
|
|
751
1005
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|