@yaebal/contexts 0.0.1

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 (193) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +17 -0
  3. package/lib/generated/business-connection.d.ts +14 -0
  4. package/lib/generated/business-connection.d.ts.map +1 -0
  5. package/lib/generated/business-connection.js +18 -0
  6. package/lib/generated/business-connection.js.map +1 -0
  7. package/lib/generated/business-message.d.ts +208 -0
  8. package/lib/generated/business-message.d.ts.map +1 -0
  9. package/lib/generated/business-message.js +406 -0
  10. package/lib/generated/business-message.js.map +1 -0
  11. package/lib/generated/callback-query.d.ts +200 -0
  12. package/lib/generated/callback-query.d.ts.map +1 -0
  13. package/lib/generated/callback-query.js +390 -0
  14. package/lib/generated/callback-query.js.map +1 -0
  15. package/lib/generated/channel-post.d.ts +208 -0
  16. package/lib/generated/channel-post.d.ts.map +1 -0
  17. package/lib/generated/channel-post.js +406 -0
  18. package/lib/generated/channel-post.js.map +1 -0
  19. package/lib/generated/chat-boost.d.ts +144 -0
  20. package/lib/generated/chat-boost.d.ts.map +1 -0
  21. package/lib/generated/chat-boost.js +278 -0
  22. package/lib/generated/chat-boost.js.map +1 -0
  23. package/lib/generated/chat-join-request.d.ts +196 -0
  24. package/lib/generated/chat-join-request.d.ts.map +1 -0
  25. package/lib/generated/chat-join-request.js +382 -0
  26. package/lib/generated/chat-join-request.js.map +1 -0
  27. package/lib/generated/chat-member.d.ts +196 -0
  28. package/lib/generated/chat-member.d.ts.map +1 -0
  29. package/lib/generated/chat-member.js +382 -0
  30. package/lib/generated/chat-member.js.map +1 -0
  31. package/lib/generated/chosen-inline-result.d.ts +46 -0
  32. package/lib/generated/chosen-inline-result.d.ts.map +1 -0
  33. package/lib/generated/chosen-inline-result.js +82 -0
  34. package/lib/generated/chosen-inline-result.js.map +1 -0
  35. package/lib/generated/deleted-business-messages.d.ts +144 -0
  36. package/lib/generated/deleted-business-messages.d.ts.map +1 -0
  37. package/lib/generated/deleted-business-messages.js +278 -0
  38. package/lib/generated/deleted-business-messages.js.map +1 -0
  39. package/lib/generated/edited-business-message.d.ts +208 -0
  40. package/lib/generated/edited-business-message.d.ts.map +1 -0
  41. package/lib/generated/edited-business-message.js +406 -0
  42. package/lib/generated/edited-business-message.js.map +1 -0
  43. package/lib/generated/edited-channel-post.d.ts +208 -0
  44. package/lib/generated/edited-channel-post.d.ts.map +1 -0
  45. package/lib/generated/edited-channel-post.js +406 -0
  46. package/lib/generated/edited-channel-post.js.map +1 -0
  47. package/lib/generated/edited-message.d.ts +208 -0
  48. package/lib/generated/edited-message.d.ts.map +1 -0
  49. package/lib/generated/edited-message.js +406 -0
  50. package/lib/generated/edited-message.js.map +1 -0
  51. package/lib/generated/index.d.ts +88 -0
  52. package/lib/generated/index.d.ts.map +1 -0
  53. package/lib/generated/index.js +88 -0
  54. package/lib/generated/index.js.map +1 -0
  55. package/lib/generated/inline-query.d.ts +48 -0
  56. package/lib/generated/inline-query.d.ts.map +1 -0
  57. package/lib/generated/inline-query.js +86 -0
  58. package/lib/generated/inline-query.js.map +1 -0
  59. package/lib/generated/message-reaction-count.d.ts +154 -0
  60. package/lib/generated/message-reaction-count.d.ts.map +1 -0
  61. package/lib/generated/message-reaction-count.js +298 -0
  62. package/lib/generated/message-reaction-count.js.map +1 -0
  63. package/lib/generated/message-reaction.d.ts +158 -0
  64. package/lib/generated/message-reaction.d.ts.map +1 -0
  65. package/lib/generated/message-reaction.js +306 -0
  66. package/lib/generated/message-reaction.js.map +1 -0
  67. package/lib/generated/message.d.ts +208 -0
  68. package/lib/generated/message.d.ts.map +1 -0
  69. package/lib/generated/message.js +406 -0
  70. package/lib/generated/message.js.map +1 -0
  71. package/lib/generated/my-chat-member.d.ts +196 -0
  72. package/lib/generated/my-chat-member.d.ts.map +1 -0
  73. package/lib/generated/my-chat-member.js +382 -0
  74. package/lib/generated/my-chat-member.js.map +1 -0
  75. package/lib/generated/poll-answer.d.ts +14 -0
  76. package/lib/generated/poll-answer.d.ts.map +1 -0
  77. package/lib/generated/poll-answer.js +18 -0
  78. package/lib/generated/poll-answer.js.map +1 -0
  79. package/lib/generated/poll.d.ts +10 -0
  80. package/lib/generated/poll.d.ts.map +1 -0
  81. package/lib/generated/poll.js +10 -0
  82. package/lib/generated/poll.js.map +1 -0
  83. package/lib/generated/pre-checkout-query.d.ts +48 -0
  84. package/lib/generated/pre-checkout-query.d.ts.map +1 -0
  85. package/lib/generated/pre-checkout-query.js +86 -0
  86. package/lib/generated/pre-checkout-query.js.map +1 -0
  87. package/lib/generated/purchased-paid-media.d.ts +46 -0
  88. package/lib/generated/purchased-paid-media.d.ts.map +1 -0
  89. package/lib/generated/purchased-paid-media.js +82 -0
  90. package/lib/generated/purchased-paid-media.js.map +1 -0
  91. package/lib/generated/removed-chat-boost.d.ts +144 -0
  92. package/lib/generated/removed-chat-boost.d.ts.map +1 -0
  93. package/lib/generated/removed-chat-boost.js +278 -0
  94. package/lib/generated/removed-chat-boost.js.map +1 -0
  95. package/lib/generated/shipping-query.d.ts +48 -0
  96. package/lib/generated/shipping-query.d.ts.map +1 -0
  97. package/lib/generated/shipping-query.js +86 -0
  98. package/lib/generated/shipping-query.js.map +1 -0
  99. package/lib/index.d.ts +10 -0
  100. package/lib/index.d.ts.map +1 -0
  101. package/lib/index.js +9 -0
  102. package/lib/index.js.map +1 -0
  103. package/lib/index.test.d.ts +2 -0
  104. package/lib/index.test.d.ts.map +1 -0
  105. package/lib/index.test.js +202 -0
  106. package/lib/index.test.js.map +1 -0
  107. package/lib/sugar/business-message.d.ts +69 -0
  108. package/lib/sugar/business-message.d.ts.map +1 -0
  109. package/lib/sugar/business-message.js +6 -0
  110. package/lib/sugar/business-message.js.map +1 -0
  111. package/lib/sugar/callback-query.d.ts +21 -0
  112. package/lib/sugar/callback-query.d.ts.map +1 -0
  113. package/lib/sugar/callback-query.js +19 -0
  114. package/lib/sugar/callback-query.js.map +1 -0
  115. package/lib/sugar/channel-post.d.ts +69 -0
  116. package/lib/sugar/channel-post.d.ts.map +1 -0
  117. package/lib/sugar/channel-post.js +6 -0
  118. package/lib/sugar/channel-post.js.map +1 -0
  119. package/lib/sugar/chat-join-request.d.ts +9 -0
  120. package/lib/sugar/chat-join-request.d.ts.map +1 -0
  121. package/lib/sugar/chat-join-request.js +13 -0
  122. package/lib/sugar/chat-join-request.js.map +1 -0
  123. package/lib/sugar/edited-business-message.d.ts +69 -0
  124. package/lib/sugar/edited-business-message.d.ts.map +1 -0
  125. package/lib/sugar/edited-business-message.js +6 -0
  126. package/lib/sugar/edited-business-message.js.map +1 -0
  127. package/lib/sugar/edited-channel-post.d.ts +69 -0
  128. package/lib/sugar/edited-channel-post.d.ts.map +1 -0
  129. package/lib/sugar/edited-channel-post.js +6 -0
  130. package/lib/sugar/edited-channel-post.js.map +1 -0
  131. package/lib/sugar/edited-message.d.ts +69 -0
  132. package/lib/sugar/edited-message.d.ts.map +1 -0
  133. package/lib/sugar/edited-message.js +6 -0
  134. package/lib/sugar/edited-message.js.map +1 -0
  135. package/lib/sugar/inline-query.d.ts +14 -0
  136. package/lib/sugar/inline-query.d.ts.map +1 -0
  137. package/lib/sugar/inline-query.js +11 -0
  138. package/lib/sugar/inline-query.js.map +1 -0
  139. package/lib/sugar/message-mixin.d.ts +55 -0
  140. package/lib/sugar/message-mixin.d.ts.map +1 -0
  141. package/lib/sugar/message-mixin.js +74 -0
  142. package/lib/sugar/message-mixin.js.map +1 -0
  143. package/lib/sugar/message.d.ts +69 -0
  144. package/lib/sugar/message.d.ts.map +1 -0
  145. package/lib/sugar/message.js +6 -0
  146. package/lib/sugar/message.js.map +1 -0
  147. package/lib/sugar/pre-checkout-query.d.ts +11 -0
  148. package/lib/sugar/pre-checkout-query.d.ts.map +1 -0
  149. package/lib/sugar/pre-checkout-query.js +8 -0
  150. package/lib/sugar/pre-checkout-query.js.map +1 -0
  151. package/lib/sugar/shipping-query.d.ts +11 -0
  152. package/lib/sugar/shipping-query.d.ts.map +1 -0
  153. package/lib/sugar/shipping-query.js +8 -0
  154. package/lib/sugar/shipping-query.js.map +1 -0
  155. package/package.json +50 -0
  156. package/src/generated/business-connection.ts +22 -0
  157. package/src/generated/business-message.ts +410 -0
  158. package/src/generated/callback-query.ts +394 -0
  159. package/src/generated/channel-post.ts +410 -0
  160. package/src/generated/chat-boost.ts +282 -0
  161. package/src/generated/chat-join-request.ts +386 -0
  162. package/src/generated/chat-member.ts +386 -0
  163. package/src/generated/chosen-inline-result.ts +86 -0
  164. package/src/generated/deleted-business-messages.ts +282 -0
  165. package/src/generated/edited-business-message.ts +410 -0
  166. package/src/generated/edited-channel-post.ts +410 -0
  167. package/src/generated/edited-message.ts +410 -0
  168. package/src/generated/index.ts +127 -0
  169. package/src/generated/inline-query.ts +90 -0
  170. package/src/generated/message-reaction-count.ts +302 -0
  171. package/src/generated/message-reaction.ts +310 -0
  172. package/src/generated/message.ts +410 -0
  173. package/src/generated/my-chat-member.ts +386 -0
  174. package/src/generated/poll-answer.ts +22 -0
  175. package/src/generated/poll.ts +15 -0
  176. package/src/generated/pre-checkout-query.ts +90 -0
  177. package/src/generated/purchased-paid-media.ts +86 -0
  178. package/src/generated/removed-chat-boost.ts +282 -0
  179. package/src/generated/shipping-query.ts +90 -0
  180. package/src/index.test.ts +241 -0
  181. package/src/index.ts +9 -0
  182. package/src/sugar/business-message.ts +5 -0
  183. package/src/sugar/callback-query.ts +41 -0
  184. package/src/sugar/channel-post.ts +5 -0
  185. package/src/sugar/chat-join-request.ts +13 -0
  186. package/src/sugar/edited-business-message.ts +5 -0
  187. package/src/sugar/edited-channel-post.ts +5 -0
  188. package/src/sugar/edited-message.ts +5 -0
  189. package/src/sugar/inline-query.ts +20 -0
  190. package/src/sugar/message-mixin.ts +137 -0
  191. package/src/sugar/message.ts +7 -0
  192. package/src/sugar/pre-checkout-query.ts +19 -0
  193. package/src/sugar/shipping-query.ts +17 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edited-channel-post.d.ts","sourceRoot":"","sources":["../../src/sugar/edited-channel-post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGnF,4EAA4E;AAC5E,qBAAa,wBAAyB,SAAQ,6BAA0C;CAAG"}
@@ -0,0 +1,6 @@
1
+ import { EditedChannelPostContextBase } from "../generated/edited-channel-post.js";
2
+ import { MessageSugar } from "./message-mixin.js";
3
+ /** EditedChannelPostContext = generated base + the shared Message sugar. */
4
+ export class EditedChannelPostContext extends MessageSugar(EditedChannelPostContextBase) {
5
+ }
6
+ //# sourceMappingURL=edited-channel-post.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edited-channel-post.js","sourceRoot":"","sources":["../../src/sugar/edited-channel-post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,4EAA4E;AAC5E,MAAM,OAAO,wBAAyB,SAAQ,YAAY,CAAC,4BAA4B,CAAC;CAAG"}
@@ -0,0 +1,69 @@
1
+ import { EditedMessageContextBase } from "../generated/edited-message.js";
2
+ declare const EditedMessageContext_base: (abstract new (...args: any[]) => {
3
+ send(text: string, params?: {
4
+ business_connection_id?: string | undefined;
5
+ message_thread_id?: number | undefined;
6
+ parse_mode?: string | undefined;
7
+ entities?: import("@yaebal/types").MessageEntity[] | undefined;
8
+ link_preview_options?: import("@yaebal/types").LinkPreviewOptions | undefined;
9
+ disable_notification?: boolean | undefined;
10
+ protect_content?: boolean | undefined;
11
+ allow_paid_broadcast?: boolean | undefined;
12
+ message_effect_id?: string | undefined;
13
+ reply_parameters?: import("@yaebal/types").ReplyParameters | undefined;
14
+ reply_markup?: (import("@yaebal/types").InlineKeyboardMarkup | import("@yaebal/types").ReplyKeyboardMarkup | import("@yaebal/types").ReplyKeyboardRemove | import("@yaebal/types").ForceReply) | undefined;
15
+ }): Promise<import("@yaebal/types").Message>;
16
+ send(params: Omit<import("@yaebal/types").SendMessageParams, "chat_id">): Promise<import("@yaebal/types").Message>;
17
+ reply(text: string, params?: {
18
+ business_connection_id?: string | undefined;
19
+ message_thread_id?: number | undefined;
20
+ parse_mode?: string | undefined;
21
+ entities?: import("@yaebal/types").MessageEntity[] | undefined;
22
+ link_preview_options?: import("@yaebal/types").LinkPreviewOptions | undefined;
23
+ disable_notification?: boolean | undefined;
24
+ protect_content?: boolean | undefined;
25
+ allow_paid_broadcast?: boolean | undefined;
26
+ message_effect_id?: string | undefined;
27
+ reply_parameters?: import("@yaebal/types").ReplyParameters | undefined;
28
+ reply_markup?: (import("@yaebal/types").InlineKeyboardMarkup | import("@yaebal/types").ReplyKeyboardMarkup | import("@yaebal/types").ReplyKeyboardRemove | import("@yaebal/types").ForceReply) | undefined;
29
+ }): Promise<import("@yaebal/types").Message>;
30
+ reply(params: Omit<import("@yaebal/types").SendMessageParams, "chat_id">): Promise<import("@yaebal/types").Message>;
31
+ editText(text: string, params?: {
32
+ business_connection_id?: string | undefined;
33
+ parse_mode?: string | undefined;
34
+ entities?: import("@yaebal/types").MessageEntity[] | undefined;
35
+ link_preview_options?: import("@yaebal/types").LinkPreviewOptions | undefined;
36
+ reply_markup?: import("@yaebal/types").InlineKeyboardMarkup | undefined;
37
+ inline_message_id?: string | undefined;
38
+ }): Promise<import("@yaebal/types").Message | boolean>;
39
+ editText(params: Omit<import("@yaebal/types").EditMessageTextParams, "chat_id" | "message_id">): Promise<import("@yaebal/types").Message | boolean>;
40
+ editCaption(caption: string, params?: {
41
+ business_connection_id?: string | undefined;
42
+ parse_mode?: string | undefined;
43
+ reply_markup?: import("@yaebal/types").InlineKeyboardMarkup | undefined;
44
+ caption_entities?: import("@yaebal/types").MessageEntity[] | undefined;
45
+ show_caption_above_media?: boolean | undefined;
46
+ inline_message_id?: string | undefined;
47
+ }): Promise<import("@yaebal/types").Message | boolean>;
48
+ editCaption(params: Omit<import("@yaebal/types").EditMessageCaptionParams, "chat_id" | "message_id">): Promise<import("@yaebal/types").Message | boolean>;
49
+ react(): Promise<boolean>;
50
+ react(emoji: string, params?: {
51
+ is_big?: boolean | undefined;
52
+ }): Promise<boolean>;
53
+ react(emoji: string, customEmojiId: string, params?: {
54
+ is_big?: boolean | undefined;
55
+ }): Promise<boolean>;
56
+ react(reactions: import("./message-mixin.js").ReactionInput | import("./message-mixin.js").ReactionInput[], params?: {
57
+ is_big?: boolean | undefined;
58
+ }): Promise<boolean>;
59
+ react(params: Omit<import("@yaebal/types").SetMessageReactionParams, "chat_id" | "message_id">): Promise<boolean>;
60
+ readonly api: import("@yaebal/core").Api;
61
+ chat: import("@yaebal/types").Chat;
62
+ message_id: number;
63
+ from?: import("@yaebal/types").User;
64
+ }) & typeof EditedMessageContextBase;
65
+ /** EditedMessageContext = generated base + the shared Message sugar. */
66
+ export declare class EditedMessageContext extends EditedMessageContext_base {
67
+ }
68
+ export {};
69
+ //# sourceMappingURL=edited-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edited-message.d.ts","sourceRoot":"","sources":["../../src/sugar/edited-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAG1E,wEAAwE;AACxE,qBAAa,oBAAqB,SAAQ,yBAAsC;CAAG"}
@@ -0,0 +1,6 @@
1
+ import { EditedMessageContextBase } from "../generated/edited-message.js";
2
+ import { MessageSugar } from "./message-mixin.js";
3
+ /** EditedMessageContext = generated base + the shared Message sugar. */
4
+ export class EditedMessageContext extends MessageSugar(EditedMessageContextBase) {
5
+ }
6
+ //# sourceMappingURL=edited-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edited-message.js","sourceRoot":"","sources":["../../src/sugar/edited-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,wEAAwE;AACxE,MAAM,OAAO,oBAAqB,SAAQ,YAAY,CAAC,wBAAwB,CAAC;CAAG"}
@@ -0,0 +1,14 @@
1
+ import type * as t from "@yaebal/types";
2
+ import { InlineQueryContextBase } from "../generated/inline-query.js";
3
+ type AnswerExtra = Omit<t.AnswerInlineQueryParams, "inline_query_id" | "results">;
4
+ /**
5
+ * InlineQueryContext = generated base + hand-written ergonomic overloads.
6
+ * Positional sugar for `answer` — pass the results array directly.
7
+ */
8
+ export declare class InlineQueryContext extends InlineQueryContextBase {
9
+ /** Answer the inline query with a list of results. */
10
+ answer(results: t.InlineQueryResult[], params?: AnswerExtra): Promise<boolean>;
11
+ answer(params: Omit<t.AnswerInlineQueryParams, "inline_query_id">): Promise<boolean>;
12
+ }
13
+ export {};
14
+ //# sourceMappingURL=inline-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-query.d.ts","sourceRoot":"","sources":["../../src/sugar/inline-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,KAAK,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,uBAAuB,EAAE,iBAAiB,GAAG,SAAS,CAAC,CAAC;AAElF;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,sBAAsB;IAC7D,sDAAsD;IAC7C,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,iBAAiB,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAC9E,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAO7F"}
@@ -0,0 +1,11 @@
1
+ import { InlineQueryContextBase } from "../generated/inline-query.js";
2
+ /**
3
+ * InlineQueryContext = generated base + hand-written ergonomic overloads.
4
+ * Positional sugar for `answer` — pass the results array directly.
5
+ */
6
+ export class InlineQueryContext extends InlineQueryContextBase {
7
+ answer(a, b) {
8
+ return super.answer(Array.isArray(a) ? { results: a, ...b } : a);
9
+ }
10
+ }
11
+ //# sourceMappingURL=inline-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-query.js","sourceRoot":"","sources":["../../src/sugar/inline-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAItE;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,sBAAsB;IAIpD,MAAM,CACd,CAA6E,EAC7E,CAAe;QAEf,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;CACD"}
@@ -0,0 +1,55 @@
1
+ import type { Api } from "@yaebal/core";
2
+ import type * as t from "@yaebal/types";
3
+ /** A friendly reaction: an emoji string, a `{ emoji }` / `{ custom_emoji_id }` shorthand, or a raw `ReactionType`. */
4
+ export type ReactionInput = string | {
5
+ emoji: string;
6
+ } | {
7
+ custom_emoji_id: string;
8
+ } | t.ReactionType;
9
+ type SendExtra = Omit<t.SendMessageParams, "chat_id" | "text">;
10
+ type EditExtra = Omit<t.EditMessageTextParams, "chat_id" | "message_id" | "text">;
11
+ type CaptionExtra = Omit<t.EditMessageCaptionParams, "chat_id" | "message_id" | "caption">;
12
+ type ReactExtra = Omit<t.SetMessageReactionParams, "chat_id" | "message_id" | "reaction">;
13
+ /** Fields every Message-based context carries (merged from the payload). */
14
+ interface MessageFields {
15
+ readonly api: Api;
16
+ chat: t.Chat;
17
+ message_id: number;
18
+ from?: t.User;
19
+ }
20
+ type Ctor<T> = abstract new (...args: any[]) => T;
21
+ /**
22
+ * Adds the ergonomic positional overloads + convenience getters shared by every
23
+ * Message-based context (message, channel_post, edited_*, business_*). Methods
24
+ * call `this.api.call` directly (so the mixin needs no `super`).
25
+ */
26
+ export declare function MessageSugar<TBase extends Ctor<MessageFields>>(Base: TBase): (abstract new (...args: any[]) => {
27
+ /** Send a new message to this chat. Pass a string for the common case. */
28
+ send(text: string, params?: SendExtra): Promise<t.Message>;
29
+ send(params: Omit<t.SendMessageParams, "chat_id">): Promise<t.Message>;
30
+ /** Reply to this message. Pass a string for the common case. */
31
+ reply(text: string, params?: SendExtra): Promise<t.Message>;
32
+ reply(params: Omit<t.SendMessageParams, "chat_id">): Promise<t.Message>;
33
+ /** Edit this message's text. Pass a string for the common case. */
34
+ editText(text: string, params?: EditExtra): Promise<t.Message | boolean>;
35
+ editText(params: Omit<t.EditMessageTextParams, "chat_id" | "message_id">): Promise<t.Message | boolean>;
36
+ /** Edit this message's caption. Pass a string for the common case. */
37
+ editCaption(caption: string, params?: CaptionExtra): Promise<t.Message | boolean>;
38
+ editCaption(params: Omit<t.EditMessageCaptionParams, "chat_id" | "message_id">): Promise<t.Message | boolean>;
39
+ /** Clear all reactions on this message. */
40
+ react(): Promise<boolean>;
41
+ /** React with a single emoji. */
42
+ react(emoji: string, params?: ReactExtra): Promise<boolean>;
43
+ /** React with a custom emoji (the emoji string is a readable fallback). */
44
+ react(emoji: string, customEmojiId: string, params?: ReactExtra): Promise<boolean>;
45
+ /** React with one or many reactions (emoji / `{ emoji }` / `{ custom_emoji_id }` / raw). */
46
+ react(reactions: ReactionInput | ReactionInput[], params?: ReactExtra): Promise<boolean>;
47
+ /** React with raw `setMessageReaction` params. */
48
+ react(params: Omit<t.SetMessageReactionParams, "chat_id" | "message_id">): Promise<boolean>;
49
+ readonly api: Api;
50
+ chat: t.Chat;
51
+ message_id: number;
52
+ from?: t.User;
53
+ }) & TBase;
54
+ export {};
55
+ //# sourceMappingURL=message-mixin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-mixin.d.ts","sourceRoot":"","sources":["../../src/sugar/message-mixin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ function toReaction(r) {
2
+ if (typeof r === "string")
3
+ return { type: "emoji", emoji: r };
4
+ if ("type" in r)
5
+ return r;
6
+ if ("custom_emoji_id" in r)
7
+ return { type: "custom_emoji", custom_emoji_id: r.custom_emoji_id };
8
+ return { type: "emoji", emoji: r.emoji };
9
+ }
10
+ /**
11
+ * Adds the ergonomic positional overloads + convenience getters shared by every
12
+ * Message-based context (message, channel_post, edited_*, business_*). Methods
13
+ * call `this.api.call` directly (so the mixin needs no `super`).
14
+ */
15
+ export function MessageSugar(Base) {
16
+ class Sugared extends Base {
17
+ send(a, b) {
18
+ const params = typeof a === "string" ? { text: a, ...b } : a;
19
+ return this.api.call("sendMessage", { chat_id: this.chat.id, ...params });
20
+ }
21
+ reply(a, b) {
22
+ const params = typeof a === "string" ? { text: a, ...b } : a;
23
+ return this.api.call("sendMessage", {
24
+ chat_id: this.chat.id,
25
+ reply_parameters: { message_id: this.message_id },
26
+ ...params,
27
+ });
28
+ }
29
+ editText(a, b) {
30
+ const params = typeof a === "string" ? { text: a, ...b } : a;
31
+ return this.api.call("editMessageText", {
32
+ chat_id: this.chat.id,
33
+ message_id: this.message_id,
34
+ ...params,
35
+ });
36
+ }
37
+ editCaption(a, b) {
38
+ const params = typeof a === "string" ? { caption: a, ...b } : a;
39
+ return this.api.call("editMessageCaption", {
40
+ chat_id: this.chat.id,
41
+ message_id: this.message_id,
42
+ ...params,
43
+ });
44
+ }
45
+ react(a, b, c) {
46
+ let params;
47
+ if (a === undefined) {
48
+ params = { reaction: [] };
49
+ }
50
+ else if (typeof a === "string") {
51
+ params =
52
+ typeof b === "string"
53
+ ? { reaction: [{ type: "custom_emoji", custom_emoji_id: b }], ...c }
54
+ : { reaction: [{ type: "emoji", emoji: a }], ...b };
55
+ }
56
+ else if (Array.isArray(a)) {
57
+ params = { reaction: a.map(toReaction), ...b };
58
+ }
59
+ else if ("emoji" in a || "custom_emoji_id" in a || "type" in a) {
60
+ params = { reaction: [toReaction(a)], ...b };
61
+ }
62
+ else {
63
+ params = a;
64
+ }
65
+ return this.api.call("setMessageReaction", {
66
+ chat_id: this.chat.id,
67
+ message_id: this.message_id,
68
+ ...params,
69
+ });
70
+ }
71
+ }
72
+ return Sugared;
73
+ }
74
+ //# sourceMappingURL=message-mixin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-mixin.js","sourceRoot":"","sources":["../../src/sugar/message-mixin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import { MessageContextBase } from "../generated/message.js";
2
+ export type { ReactionInput } from "./message-mixin.js";
3
+ declare const MessageContext_base: (abstract new (...args: any[]) => {
4
+ send(text: string, params?: {
5
+ business_connection_id?: string | undefined;
6
+ message_thread_id?: number | undefined;
7
+ parse_mode?: string | undefined;
8
+ entities?: import("@yaebal/types").MessageEntity[] | undefined;
9
+ link_preview_options?: import("@yaebal/types").LinkPreviewOptions | undefined;
10
+ disable_notification?: boolean | undefined;
11
+ protect_content?: boolean | undefined;
12
+ allow_paid_broadcast?: boolean | undefined;
13
+ message_effect_id?: string | undefined;
14
+ reply_parameters?: import("@yaebal/types").ReplyParameters | undefined;
15
+ reply_markup?: (import("@yaebal/types").InlineKeyboardMarkup | import("@yaebal/types").ReplyKeyboardMarkup | import("@yaebal/types").ReplyKeyboardRemove | import("@yaebal/types").ForceReply) | undefined;
16
+ }): Promise<import("@yaebal/types").Message>;
17
+ send(params: Omit<import("@yaebal/types").SendMessageParams, "chat_id">): Promise<import("@yaebal/types").Message>;
18
+ reply(text: string, params?: {
19
+ business_connection_id?: string | undefined;
20
+ message_thread_id?: number | undefined;
21
+ parse_mode?: string | undefined;
22
+ entities?: import("@yaebal/types").MessageEntity[] | undefined;
23
+ link_preview_options?: import("@yaebal/types").LinkPreviewOptions | undefined;
24
+ disable_notification?: boolean | undefined;
25
+ protect_content?: boolean | undefined;
26
+ allow_paid_broadcast?: boolean | undefined;
27
+ message_effect_id?: string | undefined;
28
+ reply_parameters?: import("@yaebal/types").ReplyParameters | undefined;
29
+ reply_markup?: (import("@yaebal/types").InlineKeyboardMarkup | import("@yaebal/types").ReplyKeyboardMarkup | import("@yaebal/types").ReplyKeyboardRemove | import("@yaebal/types").ForceReply) | undefined;
30
+ }): Promise<import("@yaebal/types").Message>;
31
+ reply(params: Omit<import("@yaebal/types").SendMessageParams, "chat_id">): Promise<import("@yaebal/types").Message>;
32
+ editText(text: string, params?: {
33
+ business_connection_id?: string | undefined;
34
+ parse_mode?: string | undefined;
35
+ entities?: import("@yaebal/types").MessageEntity[] | undefined;
36
+ link_preview_options?: import("@yaebal/types").LinkPreviewOptions | undefined;
37
+ reply_markup?: import("@yaebal/types").InlineKeyboardMarkup | undefined;
38
+ inline_message_id?: string | undefined;
39
+ }): Promise<import("@yaebal/types").Message | boolean>;
40
+ editText(params: Omit<import("@yaebal/types").EditMessageTextParams, "chat_id" | "message_id">): Promise<import("@yaebal/types").Message | boolean>;
41
+ editCaption(caption: string, params?: {
42
+ business_connection_id?: string | undefined;
43
+ parse_mode?: string | undefined;
44
+ reply_markup?: import("@yaebal/types").InlineKeyboardMarkup | undefined;
45
+ caption_entities?: import("@yaebal/types").MessageEntity[] | undefined;
46
+ show_caption_above_media?: boolean | undefined;
47
+ inline_message_id?: string | undefined;
48
+ }): Promise<import("@yaebal/types").Message | boolean>;
49
+ editCaption(params: Omit<import("@yaebal/types").EditMessageCaptionParams, "chat_id" | "message_id">): Promise<import("@yaebal/types").Message | boolean>;
50
+ react(): Promise<boolean>;
51
+ react(emoji: string, params?: {
52
+ is_big?: boolean | undefined;
53
+ }): Promise<boolean>;
54
+ react(emoji: string, customEmojiId: string, params?: {
55
+ is_big?: boolean | undefined;
56
+ }): Promise<boolean>;
57
+ react(reactions: import("./message-mixin.js").ReactionInput | import("./message-mixin.js").ReactionInput[], params?: {
58
+ is_big?: boolean | undefined;
59
+ }): Promise<boolean>;
60
+ react(params: Omit<import("@yaebal/types").SetMessageReactionParams, "chat_id" | "message_id">): Promise<boolean>;
61
+ readonly api: import("@yaebal/core").Api;
62
+ chat: import("@yaebal/types").Chat;
63
+ message_id: number;
64
+ from?: import("@yaebal/types").User;
65
+ }) & typeof MessageContextBase;
66
+ /** MessageContext = generated base + the shared Message sugar (positional overloads + getters). */
67
+ export declare class MessageContext extends MessageContext_base {
68
+ }
69
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/sugar/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExD,mGAAmG;AACnG,qBAAa,cAAe,SAAQ,mBAAgC;CAAG"}
@@ -0,0 +1,6 @@
1
+ import { MessageContextBase } from "../generated/message.js";
2
+ import { MessageSugar } from "./message-mixin.js";
3
+ /** MessageContext = generated base + the shared Message sugar (positional overloads + getters). */
4
+ export class MessageContext extends MessageSugar(MessageContextBase) {
5
+ }
6
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/sugar/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,mGAAmG;AACnG,MAAM,OAAO,cAAe,SAAQ,YAAY,CAAC,kBAAkB,CAAC;CAAG"}
@@ -0,0 +1,11 @@
1
+ import type * as t from "@yaebal/types";
2
+ import { PreCheckoutQueryContextBase } from "../generated/pre-checkout-query.js";
3
+ type Extra = Omit<t.AnswerPreCheckoutQueryParams, "pre_checkout_query_id" | "ok">;
4
+ /** PreCheckoutQueryContext = generated base + a positional `answer(ok)`. */
5
+ export declare class PreCheckoutQueryContext extends PreCheckoutQueryContextBase {
6
+ /** Answer the pre-checkout query. Pass `true` to approve, `false` (+ error_message) to reject. */
7
+ answer(ok: boolean, params?: Extra): Promise<boolean>;
8
+ answer(params: Omit<t.AnswerPreCheckoutQueryParams, "pre_checkout_query_id">): Promise<boolean>;
9
+ }
10
+ export {};
11
+ //# sourceMappingURL=pre-checkout-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pre-checkout-query.d.ts","sourceRoot":"","sources":["../../src/sugar/pre-checkout-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF,KAAK,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,4BAA4B,EAAE,uBAAuB,GAAG,IAAI,CAAC,CAAC;AAElF,4EAA4E;AAC5E,qBAAa,uBAAwB,SAAQ,2BAA2B;IACvE,kGAAkG;IACzF,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IACrD,MAAM,CACd,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,4BAA4B,EAAE,uBAAuB,CAAC,GACnE,OAAO,CAAC,OAAO,CAAC;CAOnB"}
@@ -0,0 +1,8 @@
1
+ import { PreCheckoutQueryContextBase } from "../generated/pre-checkout-query.js";
2
+ /** PreCheckoutQueryContext = generated base + a positional `answer(ok)`. */
3
+ export class PreCheckoutQueryContext extends PreCheckoutQueryContextBase {
4
+ answer(a, b) {
5
+ return super.answer(typeof a === "boolean" ? { ok: a, ...b } : a);
6
+ }
7
+ }
8
+ //# sourceMappingURL=pre-checkout-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pre-checkout-query.js","sourceRoot":"","sources":["../../src/sugar/pre-checkout-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAIjF,4EAA4E;AAC5E,MAAM,OAAO,uBAAwB,SAAQ,2BAA2B;IAM9D,MAAM,CACd,CAA0E,EAC1E,CAAS;QAET,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;CACD"}
@@ -0,0 +1,11 @@
1
+ import type * as t from "@yaebal/types";
2
+ import { ShippingQueryContextBase } from "../generated/shipping-query.js";
3
+ type Extra = Omit<t.AnswerShippingQueryParams, "shipping_query_id" | "ok">;
4
+ /** ShippingQueryContext = generated base + a positional `answer(ok)`. */
5
+ export declare class ShippingQueryContext extends ShippingQueryContextBase {
6
+ /** Answer the shipping query. Pass `true`/`false` for the common case. */
7
+ answer(ok: boolean, params?: Extra): Promise<boolean>;
8
+ answer(params: Omit<t.AnswerShippingQueryParams, "shipping_query_id">): Promise<boolean>;
9
+ }
10
+ export {};
11
+ //# sourceMappingURL=shipping-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shipping-query.d.ts","sourceRoot":"","sources":["../../src/sugar/shipping-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAE1E,KAAK,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,yBAAyB,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAC;AAE3E,yEAAyE;AACzE,qBAAa,oBAAqB,SAAQ,wBAAwB;IACjE,0EAA0E;IACjE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC;IACrD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAOjG"}
@@ -0,0 +1,8 @@
1
+ import { ShippingQueryContextBase } from "../generated/shipping-query.js";
2
+ /** ShippingQueryContext = generated base + a positional `answer(ok)`. */
3
+ export class ShippingQueryContext extends ShippingQueryContextBase {
4
+ answer(a, b) {
5
+ return super.answer(typeof a === "boolean" ? { ok: a, ...b } : a);
6
+ }
7
+ }
8
+ //# sourceMappingURL=shipping-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shipping-query.js","sourceRoot":"","sources":["../../src/sugar/shipping-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAI1E,yEAAyE;AACzE,MAAM,OAAO,oBAAqB,SAAQ,wBAAwB;IAIxD,MAAM,CACd,CAAmE,EACnE,CAAS;QAET,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;CACD"}
package/package.json ADDED
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "@yaebal/contexts",
3
+ "version": "0.0.1",
4
+ "description": "yaebal contexts — per-update context classes with auto-generated shortcut methods.",
5
+ "type": "module",
6
+ "main": "./lib/index.js",
7
+ "types": "./lib/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./lib/index.d.ts",
11
+ "import": "./lib/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "lib",
16
+ "src"
17
+ ],
18
+ "dependencies": {
19
+ "@yaebal/core": "0.0.1",
20
+ "@yaebal/types": "0.0.1"
21
+ },
22
+ "devDependencies": {
23
+ "@types/node": "latest"
24
+ },
25
+ "engines": {
26
+ "node": ">=20"
27
+ },
28
+ "keywords": [
29
+ "telegram",
30
+ "telegram-bot",
31
+ "yaebal",
32
+ "context",
33
+ "codegen"
34
+ ],
35
+ "license": "MIT",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/neverlane/yaebal",
39
+ "directory": "packages/contexts"
40
+ },
41
+ "publishConfig": {
42
+ "access": "public"
43
+ },
44
+ "scripts": {
45
+ "build": "tsc -p tsconfig.json",
46
+ "typecheck": "tsc -p tsconfig.json --noEmit",
47
+ "test": "node --test lib",
48
+ "generate": "node scripts/generate.mjs"
49
+ }
50
+ }
@@ -0,0 +1,22 @@
1
+ // AUTO-GENERATED — do not edit by hand. Regenerate: pnpm --filter @yaebal/contexts generate
2
+ import type { Api } from "@yaebal/core";
3
+ import type * as t from "@yaebal/types";
4
+
5
+ export interface BusinessConnectionContext extends t.BusinessConnection {}
6
+ export class BusinessConnectionContext {
7
+ readonly api: Api;
8
+ readonly update: t.Update;
9
+ constructor(api: Api, update: t.Update) {
10
+ this.api = api;
11
+ this.update = update;
12
+ Object.assign(this, update.business_connection ?? {});
13
+ }
14
+ /** Id of the user this update is from. */
15
+ get senderId(): number {
16
+ return this.user.id;
17
+ }
18
+ /** First name of the user this update is from. */
19
+ get firstName(): string | undefined {
20
+ return this.user.first_name;
21
+ }
22
+ }