@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.
- package/LICENSE +21 -0
- package/README.md +17 -0
- package/lib/generated/business-connection.d.ts +14 -0
- package/lib/generated/business-connection.d.ts.map +1 -0
- package/lib/generated/business-connection.js +18 -0
- package/lib/generated/business-connection.js.map +1 -0
- package/lib/generated/business-message.d.ts +208 -0
- package/lib/generated/business-message.d.ts.map +1 -0
- package/lib/generated/business-message.js +406 -0
- package/lib/generated/business-message.js.map +1 -0
- package/lib/generated/callback-query.d.ts +200 -0
- package/lib/generated/callback-query.d.ts.map +1 -0
- package/lib/generated/callback-query.js +390 -0
- package/lib/generated/callback-query.js.map +1 -0
- package/lib/generated/channel-post.d.ts +208 -0
- package/lib/generated/channel-post.d.ts.map +1 -0
- package/lib/generated/channel-post.js +406 -0
- package/lib/generated/channel-post.js.map +1 -0
- package/lib/generated/chat-boost.d.ts +144 -0
- package/lib/generated/chat-boost.d.ts.map +1 -0
- package/lib/generated/chat-boost.js +278 -0
- package/lib/generated/chat-boost.js.map +1 -0
- package/lib/generated/chat-join-request.d.ts +196 -0
- package/lib/generated/chat-join-request.d.ts.map +1 -0
- package/lib/generated/chat-join-request.js +382 -0
- package/lib/generated/chat-join-request.js.map +1 -0
- package/lib/generated/chat-member.d.ts +196 -0
- package/lib/generated/chat-member.d.ts.map +1 -0
- package/lib/generated/chat-member.js +382 -0
- package/lib/generated/chat-member.js.map +1 -0
- package/lib/generated/chosen-inline-result.d.ts +46 -0
- package/lib/generated/chosen-inline-result.d.ts.map +1 -0
- package/lib/generated/chosen-inline-result.js +82 -0
- package/lib/generated/chosen-inline-result.js.map +1 -0
- package/lib/generated/deleted-business-messages.d.ts +144 -0
- package/lib/generated/deleted-business-messages.d.ts.map +1 -0
- package/lib/generated/deleted-business-messages.js +278 -0
- package/lib/generated/deleted-business-messages.js.map +1 -0
- package/lib/generated/edited-business-message.d.ts +208 -0
- package/lib/generated/edited-business-message.d.ts.map +1 -0
- package/lib/generated/edited-business-message.js +406 -0
- package/lib/generated/edited-business-message.js.map +1 -0
- package/lib/generated/edited-channel-post.d.ts +208 -0
- package/lib/generated/edited-channel-post.d.ts.map +1 -0
- package/lib/generated/edited-channel-post.js +406 -0
- package/lib/generated/edited-channel-post.js.map +1 -0
- package/lib/generated/edited-message.d.ts +208 -0
- package/lib/generated/edited-message.d.ts.map +1 -0
- package/lib/generated/edited-message.js +406 -0
- package/lib/generated/edited-message.js.map +1 -0
- package/lib/generated/index.d.ts +88 -0
- package/lib/generated/index.d.ts.map +1 -0
- package/lib/generated/index.js +88 -0
- package/lib/generated/index.js.map +1 -0
- package/lib/generated/inline-query.d.ts +48 -0
- package/lib/generated/inline-query.d.ts.map +1 -0
- package/lib/generated/inline-query.js +86 -0
- package/lib/generated/inline-query.js.map +1 -0
- package/lib/generated/message-reaction-count.d.ts +154 -0
- package/lib/generated/message-reaction-count.d.ts.map +1 -0
- package/lib/generated/message-reaction-count.js +298 -0
- package/lib/generated/message-reaction-count.js.map +1 -0
- package/lib/generated/message-reaction.d.ts +158 -0
- package/lib/generated/message-reaction.d.ts.map +1 -0
- package/lib/generated/message-reaction.js +306 -0
- package/lib/generated/message-reaction.js.map +1 -0
- package/lib/generated/message.d.ts +208 -0
- package/lib/generated/message.d.ts.map +1 -0
- package/lib/generated/message.js +406 -0
- package/lib/generated/message.js.map +1 -0
- package/lib/generated/my-chat-member.d.ts +196 -0
- package/lib/generated/my-chat-member.d.ts.map +1 -0
- package/lib/generated/my-chat-member.js +382 -0
- package/lib/generated/my-chat-member.js.map +1 -0
- package/lib/generated/poll-answer.d.ts +14 -0
- package/lib/generated/poll-answer.d.ts.map +1 -0
- package/lib/generated/poll-answer.js +18 -0
- package/lib/generated/poll-answer.js.map +1 -0
- package/lib/generated/poll.d.ts +10 -0
- package/lib/generated/poll.d.ts.map +1 -0
- package/lib/generated/poll.js +10 -0
- package/lib/generated/poll.js.map +1 -0
- package/lib/generated/pre-checkout-query.d.ts +48 -0
- package/lib/generated/pre-checkout-query.d.ts.map +1 -0
- package/lib/generated/pre-checkout-query.js +86 -0
- package/lib/generated/pre-checkout-query.js.map +1 -0
- package/lib/generated/purchased-paid-media.d.ts +46 -0
- package/lib/generated/purchased-paid-media.d.ts.map +1 -0
- package/lib/generated/purchased-paid-media.js +82 -0
- package/lib/generated/purchased-paid-media.js.map +1 -0
- package/lib/generated/removed-chat-boost.d.ts +144 -0
- package/lib/generated/removed-chat-boost.d.ts.map +1 -0
- package/lib/generated/removed-chat-boost.js +278 -0
- package/lib/generated/removed-chat-boost.js.map +1 -0
- package/lib/generated/shipping-query.d.ts +48 -0
- package/lib/generated/shipping-query.d.ts.map +1 -0
- package/lib/generated/shipping-query.js +86 -0
- package/lib/generated/shipping-query.js.map +1 -0
- package/lib/index.d.ts +10 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +9 -0
- package/lib/index.js.map +1 -0
- package/lib/index.test.d.ts +2 -0
- package/lib/index.test.d.ts.map +1 -0
- package/lib/index.test.js +202 -0
- package/lib/index.test.js.map +1 -0
- package/lib/sugar/business-message.d.ts +69 -0
- package/lib/sugar/business-message.d.ts.map +1 -0
- package/lib/sugar/business-message.js +6 -0
- package/lib/sugar/business-message.js.map +1 -0
- package/lib/sugar/callback-query.d.ts +21 -0
- package/lib/sugar/callback-query.d.ts.map +1 -0
- package/lib/sugar/callback-query.js +19 -0
- package/lib/sugar/callback-query.js.map +1 -0
- package/lib/sugar/channel-post.d.ts +69 -0
- package/lib/sugar/channel-post.d.ts.map +1 -0
- package/lib/sugar/channel-post.js +6 -0
- package/lib/sugar/channel-post.js.map +1 -0
- package/lib/sugar/chat-join-request.d.ts +9 -0
- package/lib/sugar/chat-join-request.d.ts.map +1 -0
- package/lib/sugar/chat-join-request.js +13 -0
- package/lib/sugar/chat-join-request.js.map +1 -0
- package/lib/sugar/edited-business-message.d.ts +69 -0
- package/lib/sugar/edited-business-message.d.ts.map +1 -0
- package/lib/sugar/edited-business-message.js +6 -0
- package/lib/sugar/edited-business-message.js.map +1 -0
- package/lib/sugar/edited-channel-post.d.ts +69 -0
- package/lib/sugar/edited-channel-post.d.ts.map +1 -0
- package/lib/sugar/edited-channel-post.js +6 -0
- package/lib/sugar/edited-channel-post.js.map +1 -0
- package/lib/sugar/edited-message.d.ts +69 -0
- package/lib/sugar/edited-message.d.ts.map +1 -0
- package/lib/sugar/edited-message.js +6 -0
- package/lib/sugar/edited-message.js.map +1 -0
- package/lib/sugar/inline-query.d.ts +14 -0
- package/lib/sugar/inline-query.d.ts.map +1 -0
- package/lib/sugar/inline-query.js +11 -0
- package/lib/sugar/inline-query.js.map +1 -0
- package/lib/sugar/message-mixin.d.ts +55 -0
- package/lib/sugar/message-mixin.d.ts.map +1 -0
- package/lib/sugar/message-mixin.js +74 -0
- package/lib/sugar/message-mixin.js.map +1 -0
- package/lib/sugar/message.d.ts +69 -0
- package/lib/sugar/message.d.ts.map +1 -0
- package/lib/sugar/message.js +6 -0
- package/lib/sugar/message.js.map +1 -0
- package/lib/sugar/pre-checkout-query.d.ts +11 -0
- package/lib/sugar/pre-checkout-query.d.ts.map +1 -0
- package/lib/sugar/pre-checkout-query.js +8 -0
- package/lib/sugar/pre-checkout-query.js.map +1 -0
- package/lib/sugar/shipping-query.d.ts +11 -0
- package/lib/sugar/shipping-query.d.ts.map +1 -0
- package/lib/sugar/shipping-query.js +8 -0
- package/lib/sugar/shipping-query.js.map +1 -0
- package/package.json +50 -0
- package/src/generated/business-connection.ts +22 -0
- package/src/generated/business-message.ts +410 -0
- package/src/generated/callback-query.ts +394 -0
- package/src/generated/channel-post.ts +410 -0
- package/src/generated/chat-boost.ts +282 -0
- package/src/generated/chat-join-request.ts +386 -0
- package/src/generated/chat-member.ts +386 -0
- package/src/generated/chosen-inline-result.ts +86 -0
- package/src/generated/deleted-business-messages.ts +282 -0
- package/src/generated/edited-business-message.ts +410 -0
- package/src/generated/edited-channel-post.ts +410 -0
- package/src/generated/edited-message.ts +410 -0
- package/src/generated/index.ts +127 -0
- package/src/generated/inline-query.ts +90 -0
- package/src/generated/message-reaction-count.ts +302 -0
- package/src/generated/message-reaction.ts +310 -0
- package/src/generated/message.ts +410 -0
- package/src/generated/my-chat-member.ts +386 -0
- package/src/generated/poll-answer.ts +22 -0
- package/src/generated/poll.ts +15 -0
- package/src/generated/pre-checkout-query.ts +90 -0
- package/src/generated/purchased-paid-media.ts +86 -0
- package/src/generated/removed-chat-boost.ts +282 -0
- package/src/generated/shipping-query.ts +90 -0
- package/src/index.test.ts +241 -0
- package/src/index.ts +9 -0
- package/src/sugar/business-message.ts +5 -0
- package/src/sugar/callback-query.ts +41 -0
- package/src/sugar/channel-post.ts +5 -0
- package/src/sugar/chat-join-request.ts +13 -0
- package/src/sugar/edited-business-message.ts +5 -0
- package/src/sugar/edited-channel-post.ts +5 -0
- package/src/sugar/edited-message.ts +5 -0
- package/src/sugar/inline-query.ts +20 -0
- package/src/sugar/message-mixin.ts +137 -0
- package/src/sugar/message.ts +7 -0
- package/src/sugar/pre-checkout-query.ts +19 -0
- 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
|
+
}
|