specprotocol 1.4.2 → 1.4.4

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 (59) hide show
  1. package/dist/block-finder.d.ts +32 -0
  2. package/dist/block-finder.d.ts.map +1 -0
  3. package/dist/block-finder.js +67 -0
  4. package/dist/block-finder.js.map +1 -0
  5. package/dist/bossbar.d.ts +58 -0
  6. package/dist/bossbar.d.ts.map +1 -0
  7. package/dist/bossbar.js +115 -0
  8. package/dist/bossbar.js.map +1 -0
  9. package/dist/bot.d.ts +43 -2
  10. package/dist/bot.d.ts.map +1 -1
  11. package/dist/bot.js +192 -52
  12. package/dist/bot.js.map +1 -1
  13. package/dist/chat.d.ts +57 -0
  14. package/dist/chat.d.ts.map +1 -0
  15. package/dist/chat.js +210 -0
  16. package/dist/chat.js.map +1 -0
  17. package/dist/index.d.ts +10 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +25 -6
  20. package/dist/index.js.map +1 -1
  21. package/dist/inventory.d.ts +98 -0
  22. package/dist/inventory.d.ts.map +1 -0
  23. package/dist/inventory.js +209 -0
  24. package/dist/inventory.js.map +1 -0
  25. package/dist/plugins/built-in/chat.d.ts +0 -4
  26. package/dist/plugins/built-in/chat.d.ts.map +1 -1
  27. package/dist/plugins/built-in/chat.js +0 -40
  28. package/dist/plugins/built-in/chat.js.map +1 -1
  29. package/dist/protocol/compression.d.ts +3 -1
  30. package/dist/protocol/compression.d.ts.map +1 -1
  31. package/dist/protocol/compression.js +16 -3
  32. package/dist/protocol/compression.js.map +1 -1
  33. package/dist/protocol/connection.d.ts.map +1 -1
  34. package/dist/protocol/connection.js +27 -6
  35. package/dist/protocol/connection.js.map +1 -1
  36. package/dist/protocol/packet.d.ts +3 -0
  37. package/dist/protocol/packet.d.ts.map +1 -1
  38. package/dist/protocol/packet.js +28 -4
  39. package/dist/protocol/packet.js.map +1 -1
  40. package/dist/protocol/states/play.d.ts +6 -0
  41. package/dist/protocol/states/play.d.ts.map +1 -1
  42. package/dist/protocol/states/play.js +35 -7
  43. package/dist/protocol/states/play.js.map +1 -1
  44. package/dist/protocol/types.d.ts.map +1 -1
  45. package/dist/protocol/types.js +12 -0
  46. package/dist/protocol/types.js.map +1 -1
  47. package/dist/scoreboard.d.ts +66 -0
  48. package/dist/scoreboard.d.ts.map +1 -0
  49. package/dist/scoreboard.js +153 -0
  50. package/dist/scoreboard.js.map +1 -0
  51. package/dist/tablist.d.ts +56 -0
  52. package/dist/tablist.d.ts.map +1 -0
  53. package/dist/tablist.js +91 -0
  54. package/dist/tablist.js.map +1 -0
  55. package/dist/weather.d.ts +33 -0
  56. package/dist/weather.d.ts.map +1 -0
  57. package/dist/weather.js +74 -0
  58. package/dist/weather.js.map +1 -0
  59. package/package.json +2 -2
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Block Finder Utility (Core)
3
+ *
4
+ * Provides efficient block searching in loaded chunks.
5
+ */
6
+ import { World } from './world/world.js';
7
+ import { Vec3 } from './utils/vec3.js';
8
+ export interface FindBlockOptions {
9
+ /** Block state IDs to search for */
10
+ matching: number | number[];
11
+ /** Maximum distance from origin */
12
+ maxDistance?: number;
13
+ /** Maximum number of results */
14
+ count?: number;
15
+ /** Point to search from (defaults to 0,0,0) */
16
+ point?: Vec3;
17
+ }
18
+ export interface FoundBlock {
19
+ position: Vec3;
20
+ stateId: number;
21
+ distance: number;
22
+ }
23
+ /**
24
+ * Find blocks in the loaded world matching criteria.
25
+ * Returns blocks sorted by distance (nearest first).
26
+ */
27
+ export declare function findBlocks(world: World, options: FindBlockOptions): FoundBlock[];
28
+ /**
29
+ * Find the nearest block matching criteria.
30
+ */
31
+ export declare function findBlock(world: World, options: Omit<FindBlockOptions, 'count'>): FoundBlock | null;
32
+ //# sourceMappingURL=block-finder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-finder.d.ts","sourceRoot":"","sources":["../src/block-finder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC7B,oCAAoC;IACpC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,KAAK,CAAC,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,GAAG,UAAU,EAAE,CAkDhF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,UAAU,GAAG,IAAI,CAGnG"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ /**
3
+ * Block Finder Utility (Core)
4
+ *
5
+ * Provides efficient block searching in loaded chunks.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.findBlocks = findBlocks;
9
+ exports.findBlock = findBlock;
10
+ const vec3_js_1 = require("./utils/vec3.js");
11
+ /**
12
+ * Find blocks in the loaded world matching criteria.
13
+ * Returns blocks sorted by distance (nearest first).
14
+ */
15
+ function findBlocks(world, options) {
16
+ const matching = Array.isArray(options.matching) ? new Set(options.matching) : new Set([options.matching]);
17
+ const maxDist = options.maxDistance ?? 64;
18
+ const maxCount = options.count ?? 1;
19
+ const origin = options.point ?? new vec3_js_1.Vec3(0, 0, 0);
20
+ const results = [];
21
+ // Search in a cube around the origin
22
+ const minX = Math.floor(origin.x - maxDist);
23
+ const maxX = Math.ceil(origin.x + maxDist);
24
+ const minY = Math.max(world.minY, Math.floor(origin.y - maxDist));
25
+ const maxY = Math.min(world.minY + world.worldHeight, Math.ceil(origin.y + maxDist));
26
+ const minZ = Math.floor(origin.z - maxDist);
27
+ const maxZ = Math.ceil(origin.z + maxDist);
28
+ const maxDistSq = maxDist * maxDist;
29
+ for (let x = minX; x <= maxX; x++) {
30
+ for (let z = minZ; z <= maxZ; z++) {
31
+ // Check if chunk is loaded first
32
+ const chunkX = Math.floor(x / 16);
33
+ const chunkZ = Math.floor(z / 16);
34
+ if (!world.isChunkLoaded(chunkX, chunkZ))
35
+ continue;
36
+ for (let y = minY; y <= maxY; y++) {
37
+ const stateId = world.getBlock(x, y, z);
38
+ if (!matching.has(stateId))
39
+ continue;
40
+ // Check distance
41
+ const dx = x + 0.5 - origin.x;
42
+ const dy = y + 0.5 - origin.y;
43
+ const dz = z + 0.5 - origin.z;
44
+ const distSq = dx * dx + dy * dy + dz * dz;
45
+ if (distSq > maxDistSq)
46
+ continue;
47
+ results.push({
48
+ position: new vec3_js_1.Vec3(x, y, z),
49
+ stateId,
50
+ distance: Math.sqrt(distSq),
51
+ });
52
+ }
53
+ }
54
+ }
55
+ // Sort by distance
56
+ results.sort((a, b) => a.distance - b.distance);
57
+ // Limit results
58
+ return results.slice(0, maxCount);
59
+ }
60
+ /**
61
+ * Find the nearest block matching criteria.
62
+ */
63
+ function findBlock(world, options) {
64
+ const results = findBlocks(world, { ...options, count: 1 });
65
+ return results[0] ?? null;
66
+ }
67
+ //# sourceMappingURL=block-finder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-finder.js","sourceRoot":"","sources":["../src/block-finder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Boss Bar Manager
3
+ *
4
+ * Tracks server boss bars (Ender Dragon, Wither, custom).
5
+ */
6
+ import { TypedEventEmitter } from './utils/events.js';
7
+ export interface BossBar {
8
+ uuid: string;
9
+ title: string;
10
+ health: number;
11
+ color: BossBarColor;
12
+ division: BossBarDivision;
13
+ flags: number;
14
+ }
15
+ export declare enum BossBarColor {
16
+ PINK = 0,
17
+ BLUE = 1,
18
+ RED = 2,
19
+ GREEN = 3,
20
+ YELLOW = 4,
21
+ PURPLE = 5,
22
+ WHITE = 6
23
+ }
24
+ export declare enum BossBarDivision {
25
+ NONE = 0,
26
+ NOTCHES_6 = 1,
27
+ NOTCHES_10 = 2,
28
+ NOTCHES_12 = 3,
29
+ NOTCHES_20 = 4
30
+ }
31
+ export declare enum BossBarAction {
32
+ ADD = 0,
33
+ REMOVE = 1,
34
+ UPDATE_HEALTH = 2,
35
+ UPDATE_TITLE = 3,
36
+ UPDATE_STYLE = 4,
37
+ UPDATE_FLAGS = 5
38
+ }
39
+ export interface BossBarEvents {
40
+ 'bossBarAdd': (bar: BossBar) => void;
41
+ 'bossBarRemove': (uuid: string) => void;
42
+ 'bossBarUpdate': (bar: BossBar) => void;
43
+ }
44
+ export declare class BossBarManager extends TypedEventEmitter<BossBarEvents> {
45
+ private bars;
46
+ constructor();
47
+ /** Get a boss bar by UUID */
48
+ get(uuid: string): BossBar | undefined;
49
+ /** Get all active boss bars */
50
+ getAll(): BossBar[];
51
+ /** Number of active boss bars */
52
+ get count(): number;
53
+ /** Handle boss bar packet */
54
+ handleBossBar(uuid: string, action: number, data: any): void;
55
+ /** Clear all boss bars */
56
+ clear(): void;
57
+ }
58
+ //# sourceMappingURL=bossbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bossbar.d.ts","sourceRoot":"","sources":["../src/bossbar.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,YAAY;IACpB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,GAAG,IAAI;IACP,KAAK,IAAI;IACT,MAAM,IAAI;IACV,MAAM,IAAI;IACV,KAAK,IAAI;CACZ;AAED,oBAAY,eAAe;IACvB,IAAI,IAAI;IACR,SAAS,IAAI;IACb,UAAU,IAAI;IACd,UAAU,IAAI;IACd,UAAU,IAAI;CACjB;AAED,oBAAY,aAAa;IACrB,GAAG,IAAI;IACP,MAAM,IAAI;IACV,aAAa,IAAI;IACjB,YAAY,IAAI;IAChB,YAAY,IAAI;IAChB,YAAY,IAAI;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,eAAe,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAC3C;AAED,qBAAa,cAAe,SAAQ,iBAAiB,CAAC,aAAa,CAAC;IAChE,OAAO,CAAC,IAAI,CAA8B;;IAM1C,6BAA6B;IAC7B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAItC,+BAA+B;IAC/B,MAAM,IAAI,OAAO,EAAE;IAInB,iCAAiC;IACjC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,6BAA6B;IAC7B,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAuD5D,0BAA0B;IAC1B,KAAK,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ /**
3
+ * Boss Bar Manager
4
+ *
5
+ * Tracks server boss bars (Ender Dragon, Wither, custom).
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.BossBarManager = exports.BossBarAction = exports.BossBarDivision = exports.BossBarColor = void 0;
9
+ const events_js_1 = require("./utils/events.js");
10
+ var BossBarColor;
11
+ (function (BossBarColor) {
12
+ BossBarColor[BossBarColor["PINK"] = 0] = "PINK";
13
+ BossBarColor[BossBarColor["BLUE"] = 1] = "BLUE";
14
+ BossBarColor[BossBarColor["RED"] = 2] = "RED";
15
+ BossBarColor[BossBarColor["GREEN"] = 3] = "GREEN";
16
+ BossBarColor[BossBarColor["YELLOW"] = 4] = "YELLOW";
17
+ BossBarColor[BossBarColor["PURPLE"] = 5] = "PURPLE";
18
+ BossBarColor[BossBarColor["WHITE"] = 6] = "WHITE";
19
+ })(BossBarColor || (exports.BossBarColor = BossBarColor = {}));
20
+ var BossBarDivision;
21
+ (function (BossBarDivision) {
22
+ BossBarDivision[BossBarDivision["NONE"] = 0] = "NONE";
23
+ BossBarDivision[BossBarDivision["NOTCHES_6"] = 1] = "NOTCHES_6";
24
+ BossBarDivision[BossBarDivision["NOTCHES_10"] = 2] = "NOTCHES_10";
25
+ BossBarDivision[BossBarDivision["NOTCHES_12"] = 3] = "NOTCHES_12";
26
+ BossBarDivision[BossBarDivision["NOTCHES_20"] = 4] = "NOTCHES_20";
27
+ })(BossBarDivision || (exports.BossBarDivision = BossBarDivision = {}));
28
+ var BossBarAction;
29
+ (function (BossBarAction) {
30
+ BossBarAction[BossBarAction["ADD"] = 0] = "ADD";
31
+ BossBarAction[BossBarAction["REMOVE"] = 1] = "REMOVE";
32
+ BossBarAction[BossBarAction["UPDATE_HEALTH"] = 2] = "UPDATE_HEALTH";
33
+ BossBarAction[BossBarAction["UPDATE_TITLE"] = 3] = "UPDATE_TITLE";
34
+ BossBarAction[BossBarAction["UPDATE_STYLE"] = 4] = "UPDATE_STYLE";
35
+ BossBarAction[BossBarAction["UPDATE_FLAGS"] = 5] = "UPDATE_FLAGS";
36
+ })(BossBarAction || (exports.BossBarAction = BossBarAction = {}));
37
+ class BossBarManager extends events_js_1.TypedEventEmitter {
38
+ bars = new Map();
39
+ constructor() {
40
+ super();
41
+ }
42
+ /** Get a boss bar by UUID */
43
+ get(uuid) {
44
+ return this.bars.get(uuid);
45
+ }
46
+ /** Get all active boss bars */
47
+ getAll() {
48
+ return Array.from(this.bars.values());
49
+ }
50
+ /** Number of active boss bars */
51
+ get count() {
52
+ return this.bars.size;
53
+ }
54
+ /** Handle boss bar packet */
55
+ handleBossBar(uuid, action, data) {
56
+ switch (action) {
57
+ case BossBarAction.ADD: {
58
+ const bar = {
59
+ uuid,
60
+ title: data.title ?? '',
61
+ health: data.health ?? 1.0,
62
+ color: data.color ?? BossBarColor.PINK,
63
+ division: data.division ?? BossBarDivision.NONE,
64
+ flags: data.flags ?? 0,
65
+ };
66
+ this.bars.set(uuid, bar);
67
+ this.emit('bossBarAdd', bar);
68
+ break;
69
+ }
70
+ case BossBarAction.REMOVE:
71
+ this.bars.delete(uuid);
72
+ this.emit('bossBarRemove', uuid);
73
+ break;
74
+ case BossBarAction.UPDATE_HEALTH: {
75
+ const bar = this.bars.get(uuid);
76
+ if (bar) {
77
+ bar.health = data.health ?? bar.health;
78
+ this.emit('bossBarUpdate', bar);
79
+ }
80
+ break;
81
+ }
82
+ case BossBarAction.UPDATE_TITLE: {
83
+ const bar = this.bars.get(uuid);
84
+ if (bar) {
85
+ bar.title = data.title ?? bar.title;
86
+ this.emit('bossBarUpdate', bar);
87
+ }
88
+ break;
89
+ }
90
+ case BossBarAction.UPDATE_STYLE: {
91
+ const bar = this.bars.get(uuid);
92
+ if (bar) {
93
+ bar.color = data.color ?? bar.color;
94
+ bar.division = data.division ?? bar.division;
95
+ this.emit('bossBarUpdate', bar);
96
+ }
97
+ break;
98
+ }
99
+ case BossBarAction.UPDATE_FLAGS: {
100
+ const bar = this.bars.get(uuid);
101
+ if (bar) {
102
+ bar.flags = data.flags ?? bar.flags;
103
+ this.emit('bossBarUpdate', bar);
104
+ }
105
+ break;
106
+ }
107
+ }
108
+ }
109
+ /** Clear all boss bars */
110
+ clear() {
111
+ this.bars.clear();
112
+ }
113
+ }
114
+ exports.BossBarManager = BossBarManager;
115
+ //# sourceMappingURL=bossbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bossbar.js","sourceRoot":"","sources":["../src/bossbar.ts"],"names":[],"mappings":"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"}
package/dist/bot.d.ts CHANGED
@@ -16,14 +16,23 @@ import { Vec3 } from './utils/vec3.js';
16
16
  import { type RawPacket } from './protocol/packet.js';
17
17
  import { World } from './world/world.js';
18
18
  import { Entity, EntityManager } from './entity/entity.js';
19
+ import { TabList, type TabListPlayer } from './tablist.js';
20
+ import { ChatMessage } from './chat.js';
21
+ import { Inventory, type ItemStack } from './inventory.js';
22
+ import { Scoreboard } from './scoreboard.js';
23
+ import { BossBarManager } from './bossbar.js';
24
+ import { Weather } from './weather.js';
25
+ import { type FindBlockOptions, type FoundBlock } from './block-finder.js';
19
26
  import { PluginManager, type Plugin } from './plugins/plugin-manager.js';
20
27
  export interface BotEvents {
21
28
  /** Login complete, entering play state */
22
29
  'login': () => void;
23
30
  /** Spawned in the world */
24
31
  'spawn': () => void;
25
- /** Received a chat message */
32
+ /** Received a chat message (parsed) */
26
33
  'chat': (message: string, isOverlay: boolean) => void;
34
+ /** Received a chat message (rich) */
35
+ 'chatMessage': (message: ChatMessage, isOverlay: boolean) => void;
27
36
  /** Health updated */
28
37
  'health': (health: number, food: number, saturation: number) => void;
29
38
  /** Bot died */
@@ -56,6 +65,16 @@ export interface BotEvents {
56
65
  'title': (text: string) => void;
57
66
  /** Subtitle text displayed */
58
67
  'subtitle': (text: string) => void;
68
+ /** Actionbar text displayed */
69
+ 'actionbar': (text: string) => void;
70
+ /** Player joined (tab list) */
71
+ 'playerJoin': (player: TabListPlayer) => void;
72
+ /** Player left (tab list) */
73
+ 'playerLeave': (player: TabListPlayer) => void;
74
+ /** Weather changed */
75
+ 'weatherChange': (weather: 'clear' | 'rain' | 'thunder') => void;
76
+ /** Inventory slot updated */
77
+ 'inventoryUpdate': (slot: number, item: ItemStack | null) => void;
59
78
  /** Raw packet received (for advanced use) */
60
79
  'rawPacket': (packet: RawPacket) => void;
61
80
  /** Connection error */
@@ -108,8 +127,16 @@ export declare class Bot extends TypedEventEmitter<BotEvents> {
108
127
  readonly entities: EntityManager;
109
128
  readonly plugins: PluginManager;
110
129
  readonly entity: Entity;
130
+ readonly tabList: TabList;
131
+ readonly inventory: Inventory;
132
+ readonly scoreboard: Scoreboard;
133
+ readonly bossBars: BossBarManager;
134
+ readonly weather: Weather;
111
135
  private readonly options;
112
136
  private packetHandlers;
137
+ private playPacketListener;
138
+ private readonly onConnectionError;
139
+ private readonly onConnectionClose;
113
140
  constructor(options: BotOptions);
114
141
  get username(): string;
115
142
  get uuid(): string;
@@ -252,13 +279,27 @@ export declare class Bot extends TypedEventEmitter<BotEvents> {
252
279
  * Disconnect from the server.
253
280
  */
254
281
  disconnect(): void;
282
+ /**
283
+ * Find blocks matching criteria in loaded chunks.
284
+ * Returns blocks sorted by distance (nearest first).
285
+ *
286
+ * @example
287
+ * ```ts
288
+ * const stones = bot.findBlocks({ matching: 1, maxDistance: 32, count: 10 });
289
+ * ```
290
+ */
291
+ findBlocks(options: FindBlockOptions): FoundBlock[];
292
+ /**
293
+ * Find the nearest block matching criteria.
294
+ */
295
+ findBlock(options: Omit<FindBlockOptions, 'count'>): FoundBlock | null;
255
296
  }
256
297
  /**
257
298
  * Create and connect a bot.
258
299
  *
259
300
  * @example
260
301
  * ```ts
261
- * import { createBot } from 'mcbot';
302
+ * import { createBot } from 'specprotocol';
262
303
  *
263
304
  * const bot = await createBot({
264
305
  * host: 'localhost',
package/dist/bot.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"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"}