@sfmc-bds/qq-bridge 0.1.0 → 0.1.1-beta.3

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/dist/log.d.ts DELETED
@@ -1,11 +0,0 @@
1
- /**
2
- * log.ts — qq-bridge 统一日志实例
3
- *
4
- * 通过 @sfmc-bds/logs 共享包接入,source = "qq"。
5
- * sfmc 主进程通过捕获本进程 stdout 汇聚展示。
6
- *
7
- * bare 模式: stdout 只输出纯 text,不加时间戳/source/level 前缀
8
- * (由 sfmc 的 formatLog 统一添加,避免重复)。error 走 stderr。
9
- */
10
- export declare const log: import("@sfmc-bds/sdk/logs").Logger;
11
- //# sourceMappingURL=log.d.ts.map
package/dist/log.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../src/log.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,eAAO,MAAM,GAAG,qCAGd,CAAC"}
package/dist/onebot.d.ts DELETED
@@ -1,44 +0,0 @@
1
- /**
2
- * onebot.ts — OneBot 11 事件分发
3
- *
4
- * 职责:
5
- * 1. 维护 botSelfId (从 lifecycle 元事件捕获)
6
- * 2. 5s 短期 message_id 去重 (防 LLBot 偶发重发)
7
- * 3. 群消息段 → 纯文本 (text / at / image / face / reply / forward / record / video / file)
8
- * 4. 命中规则后调用 tryForward 投递
9
- *
10
- * 行为与旧 index.js 完全一致; 类型上把 sender/message 都收紧为 narrow 类型。
11
- */
12
- import { type DBServerConfig } from "./dbserver.js";
13
- import type { OneBotGroupMessageEvent } from "./types.js";
14
- /**
15
- * OneBot 11 消息段数组 (或纯字符串) → 纯文本。
16
- * 行为与旧实现完全一致:
17
- * - text: 原样拼接
18
- * - at: "@昵称 " 或 "@qq " (有 name 优先 name)
19
- * - 其它: [图片]/[表情]/[回复]/[转发]/[语音]/[视频]/[文件]
20
- * - 未知段: 跳过
21
- */
22
- export declare function extractText(message: OneBotGroupMessageEvent["message"]): string;
23
- export declare class RecentMessageDedup {
24
- private readonly map;
25
- private lastCleanup;
26
- seen(messageId: string | number | undefined): boolean;
27
- }
28
- export interface DispatcherOptions {
29
- /** 群 ID 字符串,空 = 接收所有群(旧行为:空时不匹配任何群,不会触发) */
30
- qqGroupId: string;
31
- /** db-server 配置 + 目标 channelId */
32
- db: DBServerConfig;
33
- }
34
- export declare class OneBotDispatcher {
35
- private botSelfId;
36
- private readonly opts;
37
- private readonly dedup;
38
- constructor(opts: DispatcherOptions);
39
- /** 测试/调试用 */
40
- get selfId(): string | null;
41
- /** 收到一条原始 JSON 字符串(已 parse) */
42
- handle(rawEvent: unknown): Promise<void>;
43
- }
44
- //# sourceMappingURL=onebot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onebot.d.ts","sourceRoot":"","sources":["../src/onebot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAMV,uBAAuB,EAQxB,MAAM,YAAY,CAAC;AAwCpB;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,uBAAuB,CAAC,SAAS,CAAC,GAAG,MAAM,CA8B/E;AAMD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IACjD,OAAO,CAAC,WAAW,CAAK;IAExB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO;CAetD;AAGD,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,EAAE,EAAE,cAAc,CAAC;CACpB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA4B;gBAEtC,IAAI,EAAE,iBAAiB;IAInC,aAAa;IACb,IAAI,MAAM,IAAI,MAAM,GAAG,IAAI,CAE1B;IAED,+BAA+B;IACzB,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAoC/C"}
package/dist/types.d.ts DELETED
@@ -1,124 +0,0 @@
1
- /**
2
- * types.ts — OneBot 11 / 配置 / db-server 消息载荷类型
3
- *
4
- * 只声明本进程真正用到的字段;OneBot 11 完整规范参考
5
- * https://github.com/botuniverse/onebot-11
6
- */
7
- export type OneBotSegmentType = "text" | "at" | "image" | "face" | "reply" | "forward" | "record" | "video" | "file" | (string & {});
8
- export interface OneBotTextSegment {
9
- type: "text";
10
- data: {
11
- text: string;
12
- };
13
- }
14
- export interface OneBotAtSegment {
15
- type: "at";
16
- data: {
17
- qq: string;
18
- name?: string;
19
- };
20
- }
21
- export interface OneBotImageSegment {
22
- type: "image";
23
- data: Record<string, unknown>;
24
- }
25
- export interface OneBotFaceSegment {
26
- type: "face";
27
- data: Record<string, unknown>;
28
- }
29
- export interface OneBotReplySegment {
30
- type: "reply";
31
- data: Record<string, unknown>;
32
- }
33
- export interface OneBotForwardSegment {
34
- type: "forward";
35
- data: Record<string, unknown>;
36
- }
37
- export interface OneBotRecordSegment {
38
- type: "record";
39
- data: Record<string, unknown>;
40
- }
41
- export interface OneBotVideoSegment {
42
- type: "video";
43
- data: Record<string, unknown>;
44
- }
45
- export interface OneBotFileSegment {
46
- type: "file";
47
- data: Record<string, unknown>;
48
- }
49
- export interface OneBotUnknownSegment {
50
- type: string;
51
- data: Record<string, unknown>;
52
- }
53
- export type OneBotSegment = OneBotTextSegment | OneBotAtSegment | OneBotImageSegment | OneBotFaceSegment | OneBotReplySegment | OneBotForwardSegment | OneBotRecordSegment | OneBotVideoSegment | OneBotFileSegment | OneBotUnknownSegment;
54
- export interface OneBotSender {
55
- user_id: number;
56
- nickname: string;
57
- card?: string;
58
- [k: string]: unknown;
59
- }
60
- export interface OneBotGroupMessageEvent {
61
- post_type: "message";
62
- message_type: "group";
63
- sub_type?: string;
64
- self_id: number | string;
65
- user_id: number;
66
- group_id: number;
67
- message_id: number | string;
68
- sender: OneBotSender;
69
- message: OneBotSegment[] | string;
70
- raw_message?: string;
71
- time?: number;
72
- [k: string]: unknown;
73
- }
74
- export interface OneBotLifecycleEvent {
75
- post_type: "meta_event";
76
- meta_event_type: "lifecycle";
77
- self_id: number | string;
78
- sub_type?: string;
79
- [k: string]: unknown;
80
- }
81
- export type OneBotMessageEvent = OneBotGroupMessageEvent;
82
- export type OneBotEvent = OneBotGroupMessageEvent | OneBotLifecycleEvent | {
83
- [k: string]: unknown;
84
- };
85
- /** 本进程用到的字段全是 required:config 加载时 (config.ts#applyDefaults)
86
- * 已经把 optional 字段全部填默认值。本地类型不能放宽 optional,
87
- * 否则调用点 (index.ts / dispatcher.ts) 都要补 undefined 兜底。 */
88
- export interface QQBridgeConfig {
89
- qq_enabled: boolean;
90
- qq_ws_port: number;
91
- qq_group_id: string;
92
- bridge_channel_id: string;
93
- db_host: string;
94
- db_port: number;
95
- mctoqq_prefix: string;
96
- /** LLBot 字段(由 config.ts#applyDefaults 之外的 raw 透传补齐)。 */
97
- llbot_enabled?: boolean;
98
- llbot_path?: string;
99
- llbot_cwd?: string;
100
- llbot_host?: string;
101
- llbot_port?: number;
102
- llbot_token?: string;
103
- llbot_http?: string;
104
- [k: string]: unknown;
105
- }
106
- export interface IncomingChatMessage {
107
- id: string;
108
- channelId: string;
109
- fromid: string;
110
- fromName: string;
111
- type: "text";
112
- content: string;
113
- showTimestamp: boolean;
114
- timestamp: number;
115
- }
116
- export interface PostMessagesBody {
117
- messages: IncomingChatMessage[];
118
- }
119
- export interface PostMessagesResponse {
120
- ok: boolean;
121
- received?: number;
122
- [k: string]: unknown;
123
- }
124
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /**
2
- * ws-server.ts — WebSocket 服务 (LLBot reverse-ws 入口)
3
- *
4
- * 端口: 3002 (默认)
5
- * 行为与旧实现完全一致:
6
- * - 优先加载本地 node_modules/ws
7
- * - 加载失败时 fallback 到 ../db-server/node_modules/ws
8
- * - 每个连接把消息 JSON.parse 后交给 dispatcher
9
- *
10
- * fallback 用 createRequire 加载: 避免 TypeScript 在编译期检查
11
- * ../db-server/node_modules/ws 的相对路径(不在 tsconfig 包含范围)。
12
- */
13
- import { WebSocketServer } from "ws";
14
- import type { OneBotDispatcher } from "./onebot.js";
15
- export interface WsServerOptions {
16
- port: number;
17
- dispatcher: OneBotDispatcher;
18
- }
19
- export declare function startWsServer(opts: WsServerOptions): Promise<WebSocketServer>;
20
- //# sourceMappingURL=ws-server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ws-server.d.ts","sourceRoot":"","sources":["../src/ws-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAa,eAAe,EAAE,MAAM,IAAI,CAAC;AAEhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAaD,wBAAsB,aAAa,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAgCnF"}