yaebal 0.0.3 → 0.0.5

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 CHANGED
@@ -4,17 +4,17 @@
4
4
  * a single import. `createBot()` wires the rich per-update contexts (with their
5
5
  * auto-generated shortcut methods) onto every update via the core context factory.
6
6
  */
7
- export * from "@yaebal/core";
7
+ export { callbackData } from "@yaebal/callback-data";
8
8
  export * from "@yaebal/contexts";
9
+ export * from "@yaebal/core";
9
10
  export { and, filters, not, or } from "@yaebal/filters";
10
11
  export { html, htmlToEntities, md, mdToEntities } from "@yaebal/fmt";
12
+ export { i18n } from "@yaebal/i18n";
11
13
  export { InlineKeyboard, Keyboard } from "@yaebal/keyboard";
12
- export { callbackData } from "@yaebal/callback-data";
13
14
  export { session } from "@yaebal/session";
14
- export { i18n } from "@yaebal/i18n";
15
15
  export { deleteWebhook, serve, setWebhook, webhook } from "@yaebal/web";
16
16
  import { type ContextByType } from "@yaebal/contexts";
17
- import { type BotOptions, Context, Bot as CoreBot, type FilterQuery, type Filtered, type Middleware } from "@yaebal/core";
17
+ import { type BotOptions, Context, Bot as CoreBot, type Filtered, type FilterQuery, type Middleware } from "@yaebal/core";
18
18
  type ContextFactory = NonNullable<BotOptions["contextFactory"]>;
19
19
  /**
20
20
  * build a base {@link Context} and graft the auto-generated shortcut methods
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACN,KAAK,UAAU,EACf,OAAO,EACP,GAAG,IAAI,OAAO,EAEd,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,MAAM,cAAc,CAAC;AAEtB,KAAK,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;AA0BhE;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,cA0CzB,CAAC;AAGF,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5E,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,aAAa,GACtE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAC3B,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAExB;;;;;GAKG;AACH,qBAAa,GAAG,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;gBACnD,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe;IAK1C,EAAE,CAAC,CAAC,SAAS,WAAW,EAChC,KAAK,EAAE,CAAC,EACR,GAAG,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GACpD,IAAI;IAIE,OAAO,CACf,IAAI,EAAE,MAAM,EACZ,GAAG,QAAQ,EAAE,UAAU,CAAC,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,GAC3F,IAAI;CAMP;AAED,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,GAAG,CAEtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,kBAAkB,CAAC;AAClE,OAAO,EACN,KAAK,UAAU,EACf,OAAO,EACP,GAAG,IAAI,OAAO,EAEd,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,MAAM,cAAc,CAAC;AAEtB,KAAK,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;AA0BhE;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,cA0CzB,CAAC;AAGF,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5E,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IAC5B,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE/F;;;;;GAKG;AACH,qBAAa,GAAG,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;gBACnD,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe;IAK1C,EAAE,CAAC,CAAC,SAAS,WAAW,EAChC,KAAK,EAAE,CAAC,EACR,GAAG,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GACpD,IAAI;IAIE,OAAO,CACf,IAAI,EAAE,MAAM,EACZ,GAAG,QAAQ,EAAE,UAAU,CAAC,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,GAC3F,IAAI;CAMP;AAED,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,GAAG,CAEtE"}
package/lib/index.js CHANGED
@@ -4,14 +4,14 @@
4
4
  * a single import. `createBot()` wires the rich per-update contexts (with their
5
5
  * auto-generated shortcut methods) onto every update via the core context factory.
6
6
  */
7
- export * from "@yaebal/core";
7
+ export { callbackData } from "@yaebal/callback-data";
8
8
  export * from "@yaebal/contexts";
9
+ export * from "@yaebal/core";
9
10
  export { and, filters, not, or } from "@yaebal/filters";
10
11
  export { html, htmlToEntities, md, mdToEntities } from "@yaebal/fmt";
12
+ export { i18n } from "@yaebal/i18n";
11
13
  export { InlineKeyboard, Keyboard } from "@yaebal/keyboard";
12
- export { callbackData } from "@yaebal/callback-data";
13
14
  export { session } from "@yaebal/session";
14
- export { i18n } from "@yaebal/i18n";
15
15
  export { deleteWebhook, serve, setWebhook, webhook } from "@yaebal/web";
16
16
  import { contextFor } from "@yaebal/contexts";
17
17
  import { Context, Bot as CoreBot, } from "@yaebal/core";
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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"}
package/lib/index.test.js CHANGED
@@ -43,6 +43,49 @@ test("typed routers expose the generated shortcuts + narrowed fields", () => {
43
43
  void args;
44
44
  void ctx.react; // command handlers get the message context
45
45
  });
46
+ bot.on("guest_message", (ctx) => {
47
+ void ctx.answer; // GuestMessageContext shortcut — answerGuestQuery, not sendMessage
48
+ void ctx.guest_bot_caller_user; // who summoned the guest bot
49
+ });
46
50
  assert.ok(bot);
47
51
  });
52
+ test("guest_message answer() posts a real message via answerGuestQuery", async () => {
53
+ const guestUpdate = {
54
+ update_id: 1,
55
+ guest_message: {
56
+ message_id: 5,
57
+ date: 0,
58
+ chat: { id: 42, type: "private" },
59
+ guest_query_id: "gq1",
60
+ guest_bot_caller_user: { id: 7, is_bot: false, first_name: "u" },
61
+ },
62
+ };
63
+ const calls = [];
64
+ const stubApi = {
65
+ call: (method, params) => {
66
+ calls.push({ method, params });
67
+ return Promise.resolve({ inline_message_id: "im1" });
68
+ },
69
+ };
70
+ const ctx = richContext(stubApi, guestUpdate, "guest_message");
71
+ assert.equal(ctx.guest_bot_caller_user?.first_name, "u");
72
+ await ctx.answer({
73
+ type: "article",
74
+ id: "1",
75
+ title: "hi",
76
+ input_message_content: { message_text: "hi" },
77
+ });
78
+ assert.deepEqual(calls[0], {
79
+ method: "answerGuestQuery",
80
+ params: {
81
+ guest_query_id: "gq1",
82
+ result: {
83
+ type: "article",
84
+ id: "1",
85
+ title: "hi",
86
+ input_message_content: { message_text: "hi" },
87
+ },
88
+ },
89
+ });
90
+ });
48
91
  //# sourceMappingURL=index.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,GAAG,GAAG,EAAW,CAAC;AAExB,MAAM,aAAa,GAAG;IACrB,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE;QACR,UAAU,EAAE,CAAC;QACb,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACjC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE;QAC/C,IAAI,EAAE,IAAI;KACV;CACQ,CAAC;AAEX,IAAI,CAAC,wEAAwE,EAAE,GAAG,EAAE;IACnF,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IAEvD,MAAM,CAAC,EAAE,CAAC,GAAG,YAAY,OAAO,CAAC,CAAC,CAAC,8CAA8C;IAEjF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,0BAA0B;IACxD,MAAM,CAAC,KAAK,CAAE,GAAwC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,2BAA2B;IAClG,MAAM,CAAC,KAAK,CAAC,OAAQ,GAAoC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,8BAA8B;IAC5G,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,wBAAwB;AACpE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;IAChE,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEjC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,mFAAmF;AACnF,4EAA4E;AAC5E,IAAI,CAAC,gEAAgE,EAAE,GAAG,EAAE;IAC3E,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEjC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE;QAC9B,MAAM,CAAC,GAAW,GAAG,CAAC,IAAI,CAAC,CAAC,yCAAyC;QAErE,KAAK,CAAC,CAAC;QACP,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,oDAAoD;QACpE,KAAK,GAAG,CAAC,QAAQ,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE;QACrC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,gCAAgC;IAClD,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAa,GAAG,CAAC,IAAI,CAAC;QAEhC,KAAK,IAAI,CAAC;QACV,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,2CAA2C;IAC5D,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7D,MAAM,GAAG,GAAG,EAAW,CAAC;AAExB,MAAM,aAAa,GAAG;IACrB,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE;QACR,UAAU,EAAE,CAAC;QACb,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACjC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE;QAC/C,IAAI,EAAE,IAAI;KACV;CACQ,CAAC;AAEX,IAAI,CAAC,wEAAwE,EAAE,GAAG,EAAE;IACnF,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IAEvD,MAAM,CAAC,EAAE,CAAC,GAAG,YAAY,OAAO,CAAC,CAAC,CAAC,8CAA8C;IAEjF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,0BAA0B;IACxD,MAAM,CAAC,KAAK,CAAE,GAAwC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,2BAA2B;IAClG,MAAM,CAAC,KAAK,CAAC,OAAQ,GAAoC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,8BAA8B;IAC5G,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,wBAAwB;AACpE,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;IAChE,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEjC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,mFAAmF;AACnF,4EAA4E;AAC5E,IAAI,CAAC,gEAAgE,EAAE,GAAG,EAAE;IAC3E,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEjC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE;QAC9B,MAAM,CAAC,GAAW,GAAG,CAAC,IAAI,CAAC,CAAC,yCAAyC;QAErE,KAAK,CAAC,CAAC;QACP,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,oDAAoD;QACpE,KAAK,GAAG,CAAC,QAAQ,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE;QACrC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,gCAAgC;IAClD,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAa,GAAG,CAAC,IAAI,CAAC;QAEhC,KAAK,IAAI,CAAC;QACV,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,2CAA2C;IAC5D,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE;QAC/B,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,mEAAmE;QACpF,KAAK,GAAG,CAAC,qBAAqB,CAAC,CAAC,6BAA6B;IAC9D,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;IACnF,MAAM,WAAW,GAAG;QACnB,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE;YACd,UAAU,EAAE,CAAC;YACb,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,cAAc,EAAE,KAAK;YACrB,qBAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE;SAChE;KACQ,CAAC;IAEX,MAAM,KAAK,GAA0C,EAAE,CAAC;IACxD,MAAM,OAAO,GAAG;QACf,IAAI,EAAE,CAAC,MAAc,EAAE,MAAe,EAAE,EAAE;YACzC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;KACQ,CAAC;IAEX,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,CAG5D,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IAEzD,MAAM,GAAG,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,GAAG;QACP,KAAK,EAAE,IAAI;QACX,qBAAqB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KAC7C,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC1B,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE;YACP,cAAc,EAAE,KAAK;YACrB,MAAM,EAAE;gBACP,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,GAAG;gBACP,KAAK,EAAE,IAAI;gBACX,qBAAqB,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;aAC7C;SACD;KACD,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yaebal",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "yaebal — batteries-included Telegram Bot API framework: core + auto-generated contexts + the common plugins, one import.",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -16,15 +16,15 @@
16
16
  "src"
17
17
  ],
18
18
  "dependencies": {
19
- "@yaebal/core": "0.0.2",
20
- "@yaebal/contexts": "0.0.1",
21
- "@yaebal/filters": "0.0.1",
22
- "@yaebal/keyboard": "0.0.1",
23
- "@yaebal/session": "0.0.1",
24
- "@yaebal/i18n": "0.0.2",
25
- "@yaebal/callback-data": "0.0.1",
26
- "@yaebal/fmt": "0.0.1",
27
- "@yaebal/web": "0.0.1"
19
+ "@yaebal/contexts": "0.0.4",
20
+ "@yaebal/callback-data": "0.0.2",
21
+ "@yaebal/filters": "0.0.2",
22
+ "@yaebal/core": "0.0.7",
23
+ "@yaebal/fmt": "0.0.2",
24
+ "@yaebal/session": "0.0.2",
25
+ "@yaebal/i18n": "0.0.3",
26
+ "@yaebal/keyboard": "0.1.0",
27
+ "@yaebal/web": "0.0.2"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/node": "latest"
package/src/index.test.ts CHANGED
@@ -56,6 +56,58 @@ test("typed routers expose the generated shortcuts + narrowed fields", () => {
56
56
  void args;
57
57
  void ctx.react; // command handlers get the message context
58
58
  });
59
-
59
+
60
+ bot.on("guest_message", (ctx) => {
61
+ void ctx.answer; // GuestMessageContext shortcut — answerGuestQuery, not sendMessage
62
+ void ctx.guest_bot_caller_user; // who summoned the guest bot
63
+ });
64
+
60
65
  assert.ok(bot);
61
66
  });
67
+
68
+ test("guest_message answer() posts a real message via answerGuestQuery", async () => {
69
+ const guestUpdate = {
70
+ update_id: 1,
71
+ guest_message: {
72
+ message_id: 5,
73
+ date: 0,
74
+ chat: { id: 42, type: "private" },
75
+ guest_query_id: "gq1",
76
+ guest_bot_caller_user: { id: 7, is_bot: false, first_name: "u" },
77
+ },
78
+ } as never;
79
+
80
+ const calls: { method: string; params: unknown }[] = [];
81
+ const stubApi = {
82
+ call: (method: string, params: unknown) => {
83
+ calls.push({ method, params });
84
+ return Promise.resolve({ inline_message_id: "im1" });
85
+ },
86
+ } as never;
87
+
88
+ const ctx = richContext(stubApi, guestUpdate, "guest_message") as Context & {
89
+ answer: (result: unknown) => Promise<unknown>;
90
+ guest_bot_caller_user?: { first_name: string };
91
+ };
92
+
93
+ assert.equal(ctx.guest_bot_caller_user?.first_name, "u");
94
+
95
+ await ctx.answer({
96
+ type: "article",
97
+ id: "1",
98
+ title: "hi",
99
+ input_message_content: { message_text: "hi" },
100
+ });
101
+ assert.deepEqual(calls[0], {
102
+ method: "answerGuestQuery",
103
+ params: {
104
+ guest_query_id: "gq1",
105
+ result: {
106
+ type: "article",
107
+ id: "1",
108
+ title: "hi",
109
+ input_message_content: { message_text: "hi" },
110
+ },
111
+ },
112
+ });
113
+ });
package/src/index.ts CHANGED
@@ -5,14 +5,14 @@
5
5
  * auto-generated shortcut methods) onto every update via the core context factory.
6
6
  */
7
7
 
8
- export * from "@yaebal/core";
8
+ export { callbackData } from "@yaebal/callback-data";
9
9
  export * from "@yaebal/contexts";
10
+ export * from "@yaebal/core";
10
11
  export { and, filters, not, or } from "@yaebal/filters";
11
12
  export { html, htmlToEntities, md, mdToEntities } from "@yaebal/fmt";
13
+ export { i18n } from "@yaebal/i18n";
12
14
  export { InlineKeyboard, Keyboard } from "@yaebal/keyboard";
13
- export { callbackData } from "@yaebal/callback-data";
14
15
  export { session } from "@yaebal/session";
15
- export { i18n } from "@yaebal/i18n";
16
16
  export { deleteWebhook, serve, setWebhook, webhook } from "@yaebal/web";
17
17
 
18
18
  import { type ContextByType, contextFor } from "@yaebal/contexts";
@@ -21,8 +21,8 @@ import {
21
21
  Context,
22
22
  Bot as CoreBot,
23
23
  type FileReader,
24
- type FilterQuery,
25
24
  type Filtered,
25
+ type FilterQuery,
26
26
  type Middleware,
27
27
  } from "@yaebal/core";
28
28
 
@@ -46,7 +46,7 @@ const autoReadFile: FileReader = async (path) => {
46
46
  if (g.Deno) return g.Deno.readFile(path);
47
47
  if (g.Bun) return g.Bun.file(path).bytes();
48
48
  if (g.process?.versions?.node) return (await import("node:fs/promises")).readFile(path);
49
-
49
+
50
50
  throw new Error(
51
51
  "yaebal: no filesystem in this runtime — send media.buffer()/url() instead of media.path().",
52
52
  );
@@ -103,9 +103,8 @@ export const richContext: ContextFactory = (api, update, updateType) => {
103
103
 
104
104
  // map a filter query to the matching generated context (the part before `:`).
105
105
  type QueryHead<Q extends string> = Q extends `${infer H}:${string}` ? H : Q;
106
- type RichFor<Q extends string> = QueryHead<Q> extends keyof ContextByType
107
- ? ContextByType[QueryHead<Q>]
108
- : Record<never, never>;
106
+ type RichFor<Q extends string> =
107
+ QueryHead<Q> extends keyof ContextByType ? ContextByType[QueryHead<Q>] : Record<never, never>;
109
108
 
110
109
  /**
111
110
  * a {@link CoreBot} whose routers type the handler context to the matching