chatboty 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.
Files changed (72) hide show
  1. package/README.md +31 -11
  2. package/dist/cjs/src/chatboty.d.ts +15 -6
  3. package/dist/cjs/src/chatboty.d.ts.map +1 -1
  4. package/dist/cjs/src/chatboty.js +37 -5
  5. package/dist/cjs/src/chatboty.js.map +1 -1
  6. package/dist/cjs/src/entity/contact.d.ts +10 -2
  7. package/dist/cjs/src/entity/contact.d.ts.map +1 -1
  8. package/dist/cjs/src/entity/contact.js +11 -4
  9. package/dist/cjs/src/entity/contact.js.map +1 -1
  10. package/dist/cjs/src/entity/friendship.d.ts +6 -1
  11. package/dist/cjs/src/entity/friendship.d.ts.map +1 -1
  12. package/dist/cjs/src/entity/friendship.js +6 -1
  13. package/dist/cjs/src/entity/friendship.js.map +1 -1
  14. package/dist/cjs/src/entity/message.d.ts +21 -16
  15. package/dist/cjs/src/entity/message.d.ts.map +1 -1
  16. package/dist/cjs/src/entity/message.js +23 -20
  17. package/dist/cjs/src/entity/message.js.map +1 -1
  18. package/dist/cjs/src/entity/received-file.d.ts +25 -0
  19. package/dist/cjs/src/entity/received-file.d.ts.map +1 -0
  20. package/dist/cjs/src/entity/received-file.js +35 -0
  21. package/dist/cjs/src/entity/received-file.js.map +1 -0
  22. package/dist/cjs/src/entity/room.d.ts +18 -8
  23. package/dist/cjs/src/entity/room.d.ts.map +1 -1
  24. package/dist/cjs/src/entity/room.js +20 -15
  25. package/dist/cjs/src/entity/room.js.map +1 -1
  26. package/dist/cjs/src/mod.d.ts +1 -0
  27. package/dist/cjs/src/mod.d.ts.map +1 -1
  28. package/dist/cjs/src/mod.js +3 -1
  29. package/dist/cjs/src/mod.js.map +1 -1
  30. package/dist/cjs/src/types.d.ts +6 -1
  31. package/dist/cjs/src/types.d.ts.map +1 -1
  32. package/dist/cjs/src/types.js.map +1 -1
  33. package/dist/esm/src/chatboty.d.ts +15 -6
  34. package/dist/esm/src/chatboty.d.ts.map +1 -1
  35. package/dist/esm/src/chatboty.js +37 -5
  36. package/dist/esm/src/chatboty.js.map +1 -1
  37. package/dist/esm/src/entity/contact.d.ts +10 -2
  38. package/dist/esm/src/entity/contact.d.ts.map +1 -1
  39. package/dist/esm/src/entity/contact.js +11 -4
  40. package/dist/esm/src/entity/contact.js.map +1 -1
  41. package/dist/esm/src/entity/friendship.d.ts +6 -1
  42. package/dist/esm/src/entity/friendship.d.ts.map +1 -1
  43. package/dist/esm/src/entity/friendship.js +6 -1
  44. package/dist/esm/src/entity/friendship.js.map +1 -1
  45. package/dist/esm/src/entity/message.d.ts +21 -16
  46. package/dist/esm/src/entity/message.d.ts.map +1 -1
  47. package/dist/esm/src/entity/message.js +23 -20
  48. package/dist/esm/src/entity/message.js.map +1 -1
  49. package/dist/esm/src/entity/received-file.d.ts +25 -0
  50. package/dist/esm/src/entity/received-file.d.ts.map +1 -0
  51. package/dist/esm/src/entity/received-file.js +31 -0
  52. package/dist/esm/src/entity/received-file.js.map +1 -0
  53. package/dist/esm/src/entity/room.d.ts +18 -8
  54. package/dist/esm/src/entity/room.d.ts.map +1 -1
  55. package/dist/esm/src/entity/room.js +20 -15
  56. package/dist/esm/src/entity/room.js.map +1 -1
  57. package/dist/esm/src/mod.d.ts +1 -0
  58. package/dist/esm/src/mod.d.ts.map +1 -1
  59. package/dist/esm/src/mod.js +1 -0
  60. package/dist/esm/src/mod.js.map +1 -1
  61. package/dist/esm/src/types.d.ts +6 -1
  62. package/dist/esm/src/types.d.ts.map +1 -1
  63. package/dist/esm/src/types.js.map +1 -1
  64. package/package.json +2 -1
  65. package/src/chatboty.ts +42 -9
  66. package/src/entity/contact.ts +16 -5
  67. package/src/entity/friendship.ts +6 -1
  68. package/src/entity/message.ts +32 -27
  69. package/src/entity/received-file.ts +44 -0
  70. package/src/entity/room.ts +26 -16
  71. package/src/mod.ts +1 -0
  72. package/src/types.ts +6 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"received-file.d.ts","sourceRoot":"","sources":["../../../../src/entity/received-file.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C;;;;;;GAMG;AACH,qBAAa,YAAY;IACvB,sDAAsD;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,mBAAmB;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB;IAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;gBAET,IAAI,EAAE,OAAO;IAO1B,0CAA0C;IAC1C,QAAQ,IAAK,MAAM;IAOnB,2CAA2C;IACrC,IAAI,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxC,QAAQ,IAAK,MAAM;CACpB"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReceivedFile = void 0;
4
+ const promises_1 = require("node:fs/promises");
5
+ /**
6
+ * 收到的媒体/文件(图片/文件/音视频)。自包含, 零外部依赖。
7
+ *
8
+ * 除原始字段(dataUrl/mime/name/size)外, 额外提供便捷方法:
9
+ * - toBuffer(): 同步, 把 dataUrl/base64 解码成原始字节(Buffer)。
10
+ * - save(path): 异步, 把字节写到磁盘。
11
+ */
12
+ class ReceivedFile {
13
+ constructor(init) {
14
+ this.dataUrl = init.dataUrl;
15
+ this.mime = init.mime;
16
+ this.name = init.name;
17
+ this.size = init.size;
18
+ }
19
+ /** 解出原始字节(从 dataUrl / 裸 base64 解码)。同步。 */
20
+ toBuffer() {
21
+ const s = this.dataUrl ?? '';
22
+ const comma = s.indexOf(',');
23
+ const b64 = s.startsWith('data:') && comma >= 0 ? s.slice(comma + 1) : s;
24
+ return Buffer.from(b64, 'base64');
25
+ }
26
+ /** 写盘到指定路径(需 round-trip 到磁盘, 故为 async)。 */
27
+ async save(path) {
28
+ // 用 Uint8Array 包一层: 新版 @types/node 的 writeFile 形参要求 Uint8Array<ArrayBuffer>,
29
+ // 而 Buffer 的底层可能是 SharedArrayBuffer(方差不兼容); 复制成纯 ArrayBuffer 视图即可。
30
+ await (0, promises_1.writeFile)(path, new Uint8Array(this.toBuffer()));
31
+ }
32
+ toString() { return `ReceivedFile<${this.name ?? this.mime ?? 'unknown'}>`; }
33
+ }
34
+ exports.ReceivedFile = ReceivedFile;
35
+ //# sourceMappingURL=received-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"received-file.js","sourceRoot":"","sources":["../../../../src/entity/received-file.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAG5C;;;;;;GAMG;AACH,MAAa,YAAY;IAUvB,YAAa,IAAa;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACvB,CAAC;IAED,0CAA0C;IAC1C,QAAQ;QACN,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACxE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC;IAED,2CAA2C;IAC3C,KAAK,CAAC,IAAI,CAAE,IAAY;QACtB,6EAA6E;QAC7E,mEAAmE;QACnE,MAAM,IAAA,oBAAS,EAAC,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,QAAQ,KAAc,OAAO,gBAAgB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,GAAG,CAAA,CAAC,CAAC;CACtF;AAjCD,oCAiCC"}
@@ -1,21 +1,31 @@
1
1
  import type { BotApi, RoomPayload, Sayable } from '../types.js';
2
2
  import { Contact } from './contact.js';
3
- /** 群实体。 */
3
+ /**
4
+ * 群实体。
5
+ *
6
+ * 【同步 vs 异步约定】实体已持有的数据(来自事件 payload / 缓存)用【同步】读取;
7
+ * 需要回连接器/企微(拉成员、改名、发送)的操作一律 async。
8
+ * - 同步(缓存): id / topic() / owner()
9
+ * - 异步(round-trip/动作): say() / rename() / memberAll()
10
+ */
4
11
  export declare class Room {
5
12
  private readonly bot;
6
13
  readonly payload: RoomPayload;
14
+ /** 群 id(R:..; 同步只读属性)。 */
15
+ readonly id: string;
7
16
  constructor(bot: BotApi, payload: RoomPayload);
8
- id(): string;
9
17
  topic(): string | undefined;
10
- ownerId(): string | undefined;
11
- /** 群发消息。 */
18
+ /**
19
+ * 群主(同步; 由缓存的 ownerId 构造)。
20
+ * 事件/列表未携带 ownerId 时返回 undefined; 需完整群主资料请用 {@link memberAll} 定位。
21
+ */
22
+ owner(): Contact | undefined;
23
+ /** 群发消息(动作)。 */
12
24
  say(sayable: Sayable): Promise<any>;
13
- /** 改群名(冷改, 内外群通用)。 */
25
+ /** 改群名(冷改, 内外群通用; round-trip)。 */
14
26
  rename(topic: string): Promise<any>;
15
- /** 群成员(完整 Contact 对象; 受探针成员枚举局限)。 */
27
+ /** 群成员(完整 Contact 对象; 受探针成员枚举局限; round-trip)。 */
16
28
  memberAll(): Promise<Contact[]>;
17
- /** 群主(若可解析)。 */
18
- owner(): Promise<Contact | undefined>;
19
29
  toString(): string;
20
30
  }
21
31
  //# sourceMappingURL=room.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../../../src/entity/room.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,WAAW;AACX,qBAAa,IAAI;IACF,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAU,QAAQ,CAAC,OAAO,EAAE,WAAW;gBAA1C,GAAG,EAAE,MAAM,EAAW,OAAO,EAAE,WAAW;IAExE,EAAE,IAAK,MAAM;IACb,KAAK,IAAK,MAAM,GAAG,SAAS;IAC5B,OAAO,IAAK,MAAM,GAAG,SAAS;IAE9B,YAAY;IACN,GAAG,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAI1C,sBAAsB;IAChB,MAAM,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI1C,qCAAqC;IAC/B,SAAS,IAAK,OAAO,CAAC,OAAO,EAAE,CAAC;IAUtC,gBAAgB;IACV,KAAK,IAAK,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAO5C,QAAQ,IAAK,MAAM;CACpB"}
1
+ {"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../../../src/entity/room.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC;;;;;;;GAOG;AACH,qBAAa,IAAI;IAIF,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAU,QAAQ,CAAC,OAAO,EAAE,WAAW;IAHxE,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;gBAEW,GAAG,EAAE,MAAM,EAAW,OAAO,EAAE,WAAW;IAIxE,KAAK,IAAK,MAAM,GAAG,SAAS;IAE5B;;;OAGG;IACH,KAAK,IAAK,OAAO,GAAG,SAAS;IAI7B,gBAAgB;IACV,GAAG,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAI1C,kCAAkC;IAC5B,MAAM,CAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI1C,iDAAiD;IAC3C,SAAS,IAAK,OAAO,CAAC,OAAO,EAAE,CAAC;IAUtC,QAAQ,IAAK,MAAM;CACpB"}
@@ -2,24 +2,37 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Room = void 0;
4
4
  const contact_js_1 = require("./contact.js");
5
- /** 群实体。 */
5
+ /**
6
+ * 群实体。
7
+ *
8
+ * 【同步 vs 异步约定】实体已持有的数据(来自事件 payload / 缓存)用【同步】读取;
9
+ * 需要回连接器/企微(拉成员、改名、发送)的操作一律 async。
10
+ * - 同步(缓存): id / topic() / owner()
11
+ * - 异步(round-trip/动作): say() / rename() / memberAll()
12
+ */
6
13
  class Room {
7
14
  constructor(bot, payload) {
8
15
  this.bot = bot;
9
16
  this.payload = payload;
17
+ this.id = payload.id;
10
18
  }
11
- id() { return this.payload.id; }
12
19
  topic() { return this.payload.topic; }
13
- ownerId() { return this.payload.ownerId; }
14
- /** 群发消息。 */
20
+ /**
21
+ * 群主(同步; 由缓存的 ownerId 构造)。
22
+ * 事件/列表未携带 ownerId 时返回 undefined; 需完整群主资料请用 {@link memberAll} 定位。
23
+ */
24
+ owner() {
25
+ return this.payload.ownerId ? new contact_js_1.Contact(this.bot, { id: this.payload.ownerId }) : undefined;
26
+ }
27
+ /** 群发消息(动作)。 */
15
28
  async say(sayable) {
16
29
  return this.bot.sayTo(this.payload.id, sayable);
17
30
  }
18
- /** 改群名(冷改, 内外群通用)。 */
31
+ /** 改群名(冷改, 内外群通用; round-trip)。 */
19
32
  async rename(topic) {
20
33
  return this.bot.command('roomTopic', { conversationId: this.payload.id, topic });
21
34
  }
22
- /** 群成员(完整 Contact 对象; 受探针成员枚举局限)。 */
35
+ /** 群成员(完整 Contact 对象; 受探针成员枚举局限; round-trip)。 */
23
36
  async memberAll() {
24
37
  const r = await this.bot.command('roomMembers', { conversationId: this.payload.id });
25
38
  const list = (r && (r.memberList || []));
@@ -29,15 +42,7 @@ class Room {
29
42
  conversationId: u.conversationId,
30
43
  }));
31
44
  }
32
- /** 群主(若可解析) */
33
- async owner() {
34
- const r = await this.bot.command('roomMembers', { conversationId: this.payload.id });
35
- const u = r && r.ownerUser;
36
- if (!u || !u.userId)
37
- return undefined;
38
- return new contact_js_1.Contact(this.bot, { id: u.userId, name: u.name, alias: u.alias, avatar: u.avatar, conversationId: u.conversationId });
39
- }
40
- toString() { return `Room<${this.topic() || this.id()}>`; }
45
+ toString() { return `Room<${this.topic() || this.id}>`; }
41
46
  }
42
47
  exports.Room = Room;
43
48
  //# sourceMappingURL=room.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"room.js","sourceRoot":"","sources":["../../../../src/entity/room.ts"],"names":[],"mappings":";;;AACA,6CAAsC;AAEtC,WAAW;AACX,MAAa,IAAI;IACf,YAA8B,GAAW,EAAW,OAAoB;QAA1C,QAAG,GAAH,GAAG,CAAQ;QAAW,YAAO,GAAP,OAAO,CAAa;IAAG,CAAC;IAE5E,EAAE,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA,CAAC,CAAC;IACxC,KAAK,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA,CAAC,CAAC;IAC1D,OAAO,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA,CAAC,CAAC;IAE9D,YAAY;IACZ,KAAK,CAAC,GAAG,CAAE,OAAgB;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,sBAAsB;IACtB,KAAK,CAAC,MAAM,CAAE,KAAa;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,SAAS;QACb,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;QACpF,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAU,CAAA;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM;YAC5D,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;YACpE,cAAc,EAAE,CAAC,CAAC,cAAc;SACjC,CAAC,CAAC,CAAA;IACL,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,KAAK;QACT,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;QACpF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,SAAS,CAAA;QAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,SAAS,CAAA;QACrC,OAAO,IAAI,oBAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAA;IAClI,CAAC;IAED,QAAQ,KAAc,OAAO,QAAQ,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,GAAG,CAAA,CAAC,CAAC;CACpE;AArCD,oBAqCC"}
1
+ {"version":3,"file":"room.js","sourceRoot":"","sources":["../../../../src/entity/room.ts"],"names":[],"mappings":";;;AACA,6CAAsC;AAEtC;;;;;;;GAOG;AACH,MAAa,IAAI;IAIf,YAA8B,GAAW,EAAW,OAAoB;QAA1C,QAAG,GAAH,GAAG,CAAQ;QAAW,YAAO,GAAP,OAAO,CAAa;QACtE,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;IACtB,CAAC;IAED,KAAK,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA,CAAC,CAAC;IAE1D;;;OAGG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/F,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,GAAG,CAAE,OAAgB;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,kCAAkC;IAClC,KAAK,CAAC,MAAM,CAAE,KAAa;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAClF,CAAC;IAED,iDAAiD;IACjD,KAAK,CAAC,SAAS;QACb,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;QACpF,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAU,CAAA;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,GAAG,EAAE;YAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM;YAC5D,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;YACpE,cAAc,EAAE,CAAC,CAAC,cAAc;SACjC,CAAC,CAAC,CAAA;IACL,CAAC;IAED,QAAQ,KAAc,OAAO,QAAQ,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,CAAA,CAAC,CAAC;CAClE;AAxCD,oBAwCC"}
@@ -12,6 +12,7 @@ export { Message } from './entity/message.js';
12
12
  export { Contact } from './entity/contact.js';
13
13
  export { Room } from './entity/room.js';
14
14
  export { Friendship } from './entity/friendship.js';
15
+ export { ReceivedFile } from './entity/received-file.js';
15
16
  export * from './types.js';
16
17
  export { Chatboty as default } from './chatboty.js';
17
18
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,cAAc,YAAY,CAAA;AAE1B,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,eAAe,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,cAAc,YAAY,CAAA;AAE1B,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,eAAe,CAAA"}
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.default = exports.Friendship = exports.Room = exports.Contact = exports.Message = exports.ChatbotyClient = exports.Chatboty = void 0;
17
+ exports.default = exports.ReceivedFile = exports.Friendship = exports.Room = exports.Contact = exports.Message = exports.ChatbotyClient = exports.Chatboty = void 0;
18
18
  /**
19
19
  * chatboty 公共入口。自研 IM 自动化框架(企业微信), 零外部框架依赖。
20
20
  *
@@ -35,6 +35,8 @@ var room_js_1 = require("./entity/room.js");
35
35
  Object.defineProperty(exports, "Room", { enumerable: true, get: function () { return room_js_1.Room; } });
36
36
  var friendship_js_1 = require("./entity/friendship.js");
37
37
  Object.defineProperty(exports, "Friendship", { enumerable: true, get: function () { return friendship_js_1.Friendship; } });
38
+ var received_file_js_1 = require("./entity/received-file.js");
39
+ Object.defineProperty(exports, "ReceivedFile", { enumerable: true, get: function () { return received_file_js_1.ReceivedFile; } });
38
40
  __exportStar(require("./types.js"), exports);
39
41
  var chatboty_js_2 = require("./chatboty.js");
40
42
  Object.defineProperty(exports, "default", { enumerable: true, get: function () { return chatboty_js_2.Chatboty; } });
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/mod.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,6CAA8D;AAArD,uGAAA,QAAQ,OAAA;AACjB,yCAA2F;AAAlF,2GAAA,cAAc,OAAA;AAEvB,kDAA6C;AAApC,qGAAA,OAAO,OAAA;AAChB,kDAA6C;AAApC,qGAAA,OAAO,OAAA;AAChB,4CAAuC;AAA9B,+FAAA,IAAI,OAAA;AACb,wDAAmD;AAA1C,2GAAA,UAAU,OAAA;AAEnB,6CAA0B;AAE1B,6CAAmD;AAA1C,sGAAA,QAAQ,OAAW"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/mod.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,6CAA8D;AAArD,uGAAA,QAAQ,OAAA;AACjB,yCAA2F;AAAlF,2GAAA,cAAc,OAAA;AAEvB,kDAA6C;AAApC,qGAAA,OAAO,OAAA;AAChB,kDAA6C;AAApC,qGAAA,OAAO,OAAA;AAChB,4CAAuC;AAA9B,+FAAA,IAAI,OAAA;AACb,wDAAmD;AAA1C,2GAAA,UAAU,OAAA;AACnB,8DAAwD;AAA/C,gHAAA,YAAY,OAAA;AAErB,6CAA0B;AAE1B,6CAAmD;AAA1C,sGAAA,QAAQ,OAAW"}
@@ -37,12 +37,17 @@ export interface ContactPayload {
37
37
  conversationId?: string;
38
38
  type?: ContactType;
39
39
  }
40
- /** Contact.find/findAll 查询条件: 关键词字符串, 或按字段精确匹配。 */
40
+ /** contactFind/contactFindAll 查询条件: 关键词字符串, 或按字段精确匹配。 */
41
41
  export type ContactQueryFilter = string | {
42
42
  name?: string;
43
43
  alias?: string;
44
44
  id?: string;
45
45
  };
46
+ /** roomFind/roomFindAll 查询条件: 关键词字符串(匹配 topic/id 子串), 或按字段精确匹配。 */
47
+ export type RoomQueryFilter = string | {
48
+ topic?: string;
49
+ id?: string;
50
+ };
46
51
  /** 群。 */
47
52
  export interface RoomPayload {
48
53
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwHH,4BAEC;AAGD,sCAaC;AAxID,YAAY;AACZ,IAAY,WAUX;AAVD,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,6CAAI,CAAA;IACJ,+CAAK,CAAA;IACL,+CAAK,CAAA;IACL,+CAAK,CAAA;IACL,6CAAI,CAAA;IACJ,2CAAG,CAAA;IACH,2DAAW,CAAA;IACX,iDAAM,CAAA;AACR,CAAC,EAVW,WAAW,2BAAX,WAAW,QAUtB;AAED;;;GAGG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,yDAAU,CAAA;IACV,qDAAQ,CAAA;IACR,2DAAW,CAAA;AACb,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AA+FD,qCAAqC;AACrC,SAAgB,QAAQ,CAAE,cAAuB;IAC/C,OAAO,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAC5D,CAAC;AAED,yCAAyC;AACzC,SAAgB,aAAa,CAAE,OAAgB,EAAE,OAAgB;IAC/D,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,CAAC,OAAO,WAAW,CAAC,IAAI,CAAA;QACpC,KAAK,OAAO,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAA;QACtC,KAAK,YAAY,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAA;QAC3C,KAAK,OAAO,CAAC;QAAC,KAAK,OAAO,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAA;QACpD,KAAK,OAAO,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAA;QACtC,KAAK,MAAM,CAAC,CAAC,OAAO,WAAW,CAAC,IAAI,CAAA;QACpC,KAAK,KAAK,CAAC,CAAC,OAAO,WAAW,CAAC,GAAG,CAAA;QAClC,KAAK,aAAa,CAAC,CAAC,OAAO,WAAW,CAAC,WAAW,CAAA;QAClD,KAAK,KAAK,CAAC;QAAC,KAAK,QAAQ,CAAC,CAAC,OAAO,WAAW,CAAC,MAAM,CAAA;QACpD,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAA;IACrE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA6HH,4BAEC;AAGD,sCAaC;AA7ID,YAAY;AACZ,IAAY,WAUX;AAVD,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,6CAAI,CAAA;IACJ,+CAAK,CAAA;IACL,+CAAK,CAAA;IACL,+CAAK,CAAA;IACL,6CAAI,CAAA;IACJ,2CAAG,CAAA;IACH,2DAAW,CAAA;IACX,iDAAM,CAAA;AACR,CAAC,EAVW,WAAW,2BAAX,WAAW,QAUtB;AAED;;;GAGG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,mDAAW,CAAA;IACX,yDAAU,CAAA;IACV,qDAAQ,CAAA;IACR,2DAAW,CAAA;AACb,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAoGD,qCAAqC;AACrC,SAAgB,QAAQ,CAAE,cAAuB;IAC/C,OAAO,CAAC,CAAC,cAAc,IAAI,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;AAC5D,CAAC;AAED,yCAAyC;AACzC,SAAgB,aAAa,CAAE,OAAgB,EAAE,OAAgB;IAC/D,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,CAAC,OAAO,WAAW,CAAC,IAAI,CAAA;QACpC,KAAK,OAAO,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAA;QACtC,KAAK,YAAY,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAA;QAC3C,KAAK,OAAO,CAAC;QAAC,KAAK,OAAO,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAA;QACpD,KAAK,OAAO,CAAC,CAAC,OAAO,WAAW,CAAC,KAAK,CAAA;QACtC,KAAK,MAAM,CAAC,CAAC,OAAO,WAAW,CAAC,IAAI,CAAA;QACpC,KAAK,KAAK,CAAC,CAAC,OAAO,WAAW,CAAC,GAAG,CAAA;QAClC,KAAK,aAAa,CAAC,CAAC,OAAO,WAAW,CAAC,WAAW,CAAA;QAClD,KAAK,KAAK,CAAC;QAAC,KAAK,QAAQ,CAAC,CAAC,OAAO,WAAW,CAAC,MAAM,CAAA;QACpD,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAA;IACrE,CAAC;AACH,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * 对外暴露 typed 事件与便捷 API。这是 chatboty 全生态框架的核心。
5
5
  */
6
6
  import { type ChatbotyClientOptions } from './client.js';
7
- import { type BotApi, type Sayable, type ContactPayload, type ContactQueryFilter } from './types.js';
7
+ import { type BotApi, type Sayable, type ContactPayload, type ContactQueryFilter, type RoomQueryFilter } from './types.js';
8
8
  import { Message } from './entity/message.js';
9
9
  import { Contact } from './entity/contact.js';
10
10
  import { Room } from './entity/room.js';
@@ -35,7 +35,7 @@ export declare class Chatboty implements BotApi {
35
35
  oldTopic?: string;
36
36
  timestamp?: number;
37
37
  }) => void): this;
38
- on(event: 'login', l: (self?: any) => void): this;
38
+ on(event: 'login', l: (self: Contact) => void): this;
39
39
  on(event: 'scan', l: (p: {
40
40
  qrcode?: string;
41
41
  status?: any;
@@ -44,9 +44,7 @@ export declare class Chatboty implements BotApi {
44
44
  phase: string;
45
45
  label?: string;
46
46
  }) => void): this;
47
- on(event: 'error', l: (p: {
48
- error: string;
49
- }) => void): this;
47
+ on(event: 'error', l: (err: Error) => void): this;
50
48
  on(event: 'heartbeat', l: (p: {
51
49
  state?: string;
52
50
  }) => void): this;
@@ -73,7 +71,18 @@ export declare class Chatboty implements BotApi {
73
71
  */
74
72
  currentUser(): Promise<Contact | undefined>;
75
73
  sayTo(conversationId: string, sayable: Sayable): Promise<any>;
76
- roomList(): Promise<Room[]>;
74
+ /**
75
+ * 查找群列表。无 query 时返回全部已加载群; 传 query 则在其上本地过滤。
76
+ * @param query 关键词字符串(匹配 topic/id 子串), 或 { topic?, id? } 精确匹配。
77
+ * @returns 命中的 Room 列表(可能为空)。
78
+ */
79
+ roomFindAll(query?: RoomQueryFilter): Promise<Room[]>;
80
+ /**
81
+ * 查找单个群(取 {@link roomFindAll} 第一个命中)。
82
+ * @param query 关键词字符串或 { topic?, id? }。
83
+ * @returns 命中的第一个 Room; 无则 undefined。
84
+ */
85
+ roomFind(query: RoomQueryFilter): Promise<Room | undefined>;
77
86
  contactList(): Promise<Contact[]>;
78
87
  /**
79
88
  * 在【已加载的全量通讯录】按条件查找联系人(本地过滤, 非服务端搜陌生人)。
@@ -1 +1 @@
1
- {"version":3,"file":"chatboty.d.ts","sourceRoot":"","sources":["../../../src/chatboty.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatboty.d.ts","sourceRoot":"","sources":["../../../src/chatboty.ts"],"names":[],"mappings":"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"}
@@ -46,12 +46,17 @@ export class Chatboty {
46
46
  room: new Room(this, { id: w.roomId, topic: w.topic }), topic: w.topic, oldTopic: w.oldTopic, timestamp: w.timestamp,
47
47
  }));
48
48
  this.client.on('friendship', (w) => this.emit('friendship', this.toFriendship(w)));
49
- this.client.on('login', (w) => this.emit('login', w.self));
49
+ this.client.on('login', (w) => {
50
+ // 把 payload 构造成 typed self Contact, 缓存并向上抛(供 message.mentionSelf/self 判定)。
51
+ const self = new Contact(this, this.toContactPayload(w.self ?? w));
52
+ this._self = self;
53
+ this.emit('login', self);
54
+ });
50
55
  this.client.on('logout', () => { this._self = undefined; this.emit('logout'); });
51
56
  this.client.on('scan', (w) => this.emit('scan', { qrcode: w.qrcode, status: w.status }));
52
57
  this.client.on('login-phase', (w) => this.emit('login-phase', { phase: w.phase, label: w.label }));
53
58
  this.client.on('disconnected', () => this.emit('disconnected'));
54
- this.client.on('error', (w) => this.emit('error', { error: w.error }));
59
+ this.client.on('error', (w) => this.emit('error', new Error(w.error ?? '未知错误')));
55
60
  this.client.on('heartbeat', (w) => this.emit('heartbeat', { state: w.state }));
56
61
  }
57
62
  /* ---------------- wire → 实体 ---------------- */
@@ -149,10 +154,37 @@ export class Chatboty {
149
154
  throw new Error('不支持的发送内容');
150
155
  }
151
156
  /* ---------------- 查询/工厂 ---------------- */
152
- async roomList() {
157
+ /**
158
+ * 查找群列表。无 query 时返回全部已加载群; 传 query 则在其上本地过滤。
159
+ * @param query 关键词字符串(匹配 topic/id 子串), 或 { topic?, id? } 精确匹配。
160
+ * @returns 命中的 Room 列表(可能为空)。
161
+ */
162
+ async roomFindAll(query) {
153
163
  const r = await this.command('roomList');
154
164
  const arr = (r && (r.rooms || r.list || (Array.isArray(r) ? r : []))) || [];
155
- return arr.map((x) => new Room(this, { id: x.conversationId || x.id, topic: x.name || x.topic }));
165
+ let list = arr.map((x) => new Room(this, { id: x.conversationId || x.id, topic: x.name || x.topic }));
166
+ if (query !== undefined) {
167
+ if (typeof query === 'string') {
168
+ const kw = query.toLowerCase();
169
+ list = list.filter((rm) => (rm.topic() ?? '').toLowerCase().includes(kw) || rm.id.toLowerCase().includes(kw));
170
+ }
171
+ else {
172
+ if (query.id)
173
+ list = list.filter((rm) => rm.id === query.id);
174
+ if (query.topic)
175
+ list = list.filter((rm) => rm.topic() === query.topic);
176
+ }
177
+ }
178
+ return list;
179
+ }
180
+ /**
181
+ * 查找单个群(取 {@link roomFindAll} 第一个命中)。
182
+ * @param query 关键词字符串或 { topic?, id? }。
183
+ * @returns 命中的第一个 Room; 无则 undefined。
184
+ */
185
+ async roomFind(query) {
186
+ const all = await this.roomFindAll(query);
187
+ return all[0];
156
188
  }
157
189
  async contactList() {
158
190
  const r = await this.command('contactList');
@@ -173,7 +205,7 @@ export class Chatboty {
173
205
  let list = arr.map((u) => new Contact(this, this.toContactPayload(u)));
174
206
  if (query && typeof query !== 'string') { // 对象条件: 在子串命中基础上再做精确收窄
175
207
  if (query.id)
176
- list = list.filter((c) => c.id() === query.id);
208
+ list = list.filter((c) => c.id === query.id);
177
209
  if (query.alias)
178
210
  list = list.filter((c) => c.alias() === query.alias);
179
211
  if (query.name)
@@ -1 +1 @@
1
- {"version":3,"file":"chatboty.js","sourceRoot":"","sources":["../../../src/chatboty.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatboty.js","sourceRoot":"","sources":["../../../src/chatboty.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,19 @@
1
1
  import type { BotApi, ContactPayload, Sayable } from '../types.js';
2
2
  import { ContactType } from '../types.js';
3
- /** 联系人实体(含外部客户)。 */
3
+ /**
4
+ * 联系人实体(含外部客户)。
5
+ *
6
+ * 【同步 vs 异步约定】实体已持有的数据(来自事件 payload / 缓存)用【同步】读取;
7
+ * 需要回连接器/企微的操作一律 async。
8
+ * - 同步(缓存): id / name() / alias() / avatar() / phone() / title() / type() / conversationId()
9
+ * - 异步(动作): say()
10
+ */
4
11
  export declare class Contact {
5
12
  private readonly bot;
6
13
  readonly payload: ContactPayload;
14
+ /** 联系人 id(vid; 同步只读属性)。 */
15
+ readonly id: string;
7
16
  constructor(bot: BotApi, payload: ContactPayload);
8
- id(): string;
9
17
  name(): string;
10
18
  alias(): string | undefined;
11
19
  avatar(): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../../src/entity/contact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,oBAAoB;AACpB,qBAAa,OAAO;IACL,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAU,QAAQ,CAAC,OAAO,EAAE,cAAc;gBAA7C,GAAG,EAAE,MAAM,EAAW,OAAO,EAAE,cAAc;IAE3E,EAAE,IAAK,MAAM;IACb,IAAI,IAAK,MAAM;IACf,KAAK,IAAK,MAAM,GAAG,SAAS;IAC5B,MAAM,IAAK,MAAM,GAAG,SAAS;IAC7B,KAAK,IAAK,MAAM,GAAG,SAAS;IAC5B,KAAK,IAAK,MAAM,GAAG,SAAS;IAE5B;;;OAGG;IACH,IAAI,IAAK,WAAW;IAEpB,sBAAsB;IACtB,cAAc,IAAK,MAAM,GAAG,SAAS;IAErC,oBAAoB;IACd,GAAG,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAM1C,QAAQ,IAAK,MAAM;CACpB"}
1
+ {"version":3,"file":"contact.d.ts","sourceRoot":"","sources":["../../../../src/entity/contact.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC;;;;;;;GAOG;AACH,qBAAa,OAAO;IAIL,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAU,QAAQ,CAAC,OAAO,EAAE,cAAc;IAH3E,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;gBAEW,GAAG,EAAE,MAAM,EAAW,OAAO,EAAE,cAAc;IAI3E,IAAI,IAAK,MAAM;IACf,KAAK,IAAK,MAAM,GAAG,SAAS;IAC5B,MAAM,IAAK,MAAM,GAAG,SAAS;IAC7B,KAAK,IAAK,MAAM,GAAG,SAAS;IAC5B,KAAK,IAAK,MAAM,GAAG,SAAS;IAE5B;;;OAGG;IACH,IAAI,IAAK,WAAW;IAEpB,sBAAsB;IACtB,cAAc,IAAK,MAAM,GAAG,SAAS;IAErC,oBAAoB;IACd,GAAG,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAM1C,QAAQ,IAAK,MAAM;CACpB"}
@@ -1,11 +1,18 @@
1
1
  import { ContactType } from '../types.js';
2
- /** 联系人实体(含外部客户)。 */
2
+ /**
3
+ * 联系人实体(含外部客户)。
4
+ *
5
+ * 【同步 vs 异步约定】实体已持有的数据(来自事件 payload / 缓存)用【同步】读取;
6
+ * 需要回连接器/企微的操作一律 async。
7
+ * - 同步(缓存): id / name() / alias() / avatar() / phone() / title() / type() / conversationId()
8
+ * - 异步(动作): say()
9
+ */
3
10
  export class Contact {
4
11
  constructor(bot, payload) {
5
12
  this.bot = bot;
6
13
  this.payload = payload;
14
+ this.id = payload.id;
7
15
  }
8
- id() { return this.payload.id; }
9
16
  name() { return this.payload.name ?? ''; }
10
17
  alias() { return this.payload.alias; }
11
18
  avatar() { return this.payload.avatar; }
@@ -22,9 +29,9 @@ export class Contact {
22
29
  async say(sayable) {
23
30
  const conv = this.payload.conversationId;
24
31
  if (!conv)
25
- throw new Error(`Contact ${this.id()} 无单聊会话 id, 无法发送`);
32
+ throw new Error(`Contact ${this.id} 无单聊会话 id, 无法发送`);
26
33
  return this.bot.sayTo(conv, sayable);
27
34
  }
28
- toString() { return `Contact<${this.name() || this.id()}>`; }
35
+ toString() { return `Contact<${this.name() || this.id}>`; }
29
36
  }
30
37
  //# sourceMappingURL=contact.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contact.js","sourceRoot":"","sources":["../../../../src/entity/contact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,oBAAoB;AACpB,MAAM,OAAO,OAAO;IAClB,YAA8B,GAAW,EAAW,OAAuB;QAA7C,QAAG,GAAH,GAAG,CAAQ;QAAW,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAE/E,EAAE,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA,CAAC,CAAC;IACxC,IAAI,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAA,CAAC,CAAC;IAClD,KAAK,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA,CAAC,CAAC;IAC1D,MAAM,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA,CAAC,CAAC;IAC5D,KAAK,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA,CAAC,CAAC;IAC1D,KAAK,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA,CAAC,CAAC;IAE1D;;;OAGG;IACH,IAAI,KAAmB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,UAAU,CAAA,CAAC,CAAC;IAE3E,sBAAsB;IACtB,cAAc,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAA,CAAC,CAAC;IAE5E,oBAAoB;IACpB,KAAK,CAAC,GAAG,CAAE,OAAgB;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAA;QACxC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAA;QACjE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC;IAED,QAAQ,KAAc,OAAO,WAAW,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,GAAG,CAAA,CAAC,CAAC;CACtE"}
1
+ {"version":3,"file":"contact.js","sourceRoot":"","sources":["../../../../src/entity/contact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC;;;;;;;GAOG;AACH,MAAM,OAAO,OAAO;IAIlB,YAA8B,GAAW,EAAW,OAAuB;QAA7C,QAAG,GAAH,GAAG,CAAQ;QAAW,YAAO,GAAP,OAAO,CAAgB;QACzE,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAA;IACtB,CAAC;IAED,IAAI,KAAc,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAA,CAAC,CAAC;IAClD,KAAK,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA,CAAC,CAAC;IAC1D,MAAM,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA,CAAC,CAAC;IAC5D,KAAK,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA,CAAC,CAAC;IAC1D,KAAK,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA,CAAC,CAAC;IAE1D;;;OAGG;IACH,IAAI,KAAmB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,UAAU,CAAA,CAAC,CAAC;IAE3E,sBAAsB;IACtB,cAAc,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAA,CAAC,CAAC;IAE5E,oBAAoB;IACpB,KAAK,CAAC,GAAG,CAAE,OAAgB;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAA;QACxC,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAA;QAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACtC,CAAC;IAED,QAAQ,KAAc,OAAO,WAAW,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,GAAG,CAAA,CAAC,CAAC;CACpE"}
@@ -1,6 +1,11 @@
1
1
  import type { BotApi, FriendshipPayload, FriendshipKind } from '../types.js';
2
2
  import { Contact } from './contact.js';
3
- /** 好友关系事件实体。 */
3
+ /**
4
+ * 好友关系事件实体。
5
+ *
6
+ * 【同步 vs 异步约定】本实体全部数据来自事件 payload, 故 kind()/hello()/contact() 均为同步。
7
+ * (Friendship 无自身 id; 相关联系人 id 见 contact().id。)
8
+ */
4
9
  export declare class Friendship {
5
10
  private readonly bot;
6
11
  readonly payload: FriendshipPayload;
@@ -1 +1 @@
1
- {"version":3,"file":"friendship.d.ts","sourceRoot":"","sources":["../../../../src/entity/friendship.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,gBAAgB;AAChB,qBAAa,UAAU;IACR,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAU,QAAQ,CAAC,OAAO,EAAE,iBAAiB;gBAAhD,GAAG,EAAE,MAAM,EAAW,OAAO,EAAE,iBAAiB;IAE9E,IAAI,IAAK,cAAc;IACvB,KAAK,IAAK,MAAM,GAAG,SAAS;IAE5B,OAAO,IAAK,OAAO;IAInB,QAAQ,IAAK,MAAM;CACpB"}
1
+ {"version":3,"file":"friendship.d.ts","sourceRoot":"","sources":["../../../../src/entity/friendship.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC;;;;;GAKG;AACH,qBAAa,UAAU;IACR,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAU,QAAQ,CAAC,OAAO,EAAE,iBAAiB;gBAAhD,GAAG,EAAE,MAAM,EAAW,OAAO,EAAE,iBAAiB;IAE9E,IAAI,IAAK,cAAc;IACvB,KAAK,IAAK,MAAM,GAAG,SAAS;IAE5B,OAAO,IAAK,OAAO;IAInB,QAAQ,IAAK,MAAM;CACpB"}
@@ -1,5 +1,10 @@
1
1
  import { Contact } from './contact.js';
2
- /** 好友关系事件实体。 */
2
+ /**
3
+ * 好友关系事件实体。
4
+ *
5
+ * 【同步 vs 异步约定】本实体全部数据来自事件 payload, 故 kind()/hello()/contact() 均为同步。
6
+ * (Friendship 无自身 id; 相关联系人 id 见 contact().id。)
7
+ */
3
8
  export class Friendship {
4
9
  constructor(bot, payload) {
5
10
  this.bot = bot;
@@ -1 +1 @@
1
- {"version":3,"file":"friendship.js","sourceRoot":"","sources":["../../../../src/entity/friendship.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,gBAAgB;AAChB,MAAM,OAAO,UAAU;IACrB,YAA8B,GAAW,EAAW,OAA0B;QAAhD,QAAG,GAAH,GAAG,CAAQ;QAAW,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAElF,IAAI,KAAsB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA,CAAC,CAAC;IACpD,KAAK,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA,CAAC,CAAC;IAE1D,OAAO;QACL,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IACtF,CAAC;IAED,QAAQ,KAAc,OAAO,cAAc,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAA,CAAC,CAAC;CACtF"}
1
+ {"version":3,"file":"friendship.js","sourceRoot":"","sources":["../../../../src/entity/friendship.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC;;;;;GAKG;AACH,MAAM,OAAO,UAAU;IACrB,YAA8B,GAAW,EAAW,OAA0B;QAAhD,QAAG,GAAH,GAAG,CAAQ;QAAW,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAElF,IAAI,KAAsB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA,CAAC,CAAC;IACpD,KAAK,KAA0B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA,CAAC,CAAC;IAE1D,OAAO;QACL,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IACtF,CAAC;IAED,QAAQ,KAAc,OAAO,cAAc,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAA,CAAC,CAAC;CACtF"}