@yaebal/contexts 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/generated/business-connection.d.ts +48 -0
- package/lib/generated/business-connection.d.ts.map +1 -1
- package/lib/generated/business-connection.js +96 -0
- package/lib/generated/business-connection.js.map +1 -1
- package/lib/generated/business-message.d.ts +83 -41
- package/lib/generated/business-message.d.ts.map +1 -1
- package/lib/generated/business-message.js +125 -41
- package/lib/generated/business-message.js.map +1 -1
- package/lib/generated/callback-query.d.ts +40 -40
- package/lib/generated/callback-query.d.ts.map +1 -1
- package/lib/generated/callback-query.js +40 -40
- package/lib/generated/callback-query.js.map +1 -1
- package/lib/generated/channel-post.d.ts +33 -35
- package/lib/generated/channel-post.d.ts.map +1 -1
- package/lib/generated/channel-post.js +37 -41
- package/lib/generated/channel-post.js.map +1 -1
- package/lib/generated/chat-boost.d.ts +0 -12
- package/lib/generated/chat-boost.d.ts.map +1 -1
- package/lib/generated/chat-boost.js +0 -24
- package/lib/generated/chat-boost.js.map +1 -1
- package/lib/generated/chat-join-request.d.ts +0 -12
- package/lib/generated/chat-join-request.d.ts.map +1 -1
- package/lib/generated/chat-join-request.js +0 -24
- package/lib/generated/chat-join-request.js.map +1 -1
- package/lib/generated/chat-member.d.ts +0 -12
- package/lib/generated/chat-member.d.ts.map +1 -1
- package/lib/generated/chat-member.js +0 -24
- package/lib/generated/chat-member.js.map +1 -1
- package/lib/generated/deleted-business-messages.d.ts +68 -38
- package/lib/generated/deleted-business-messages.d.ts.map +1 -1
- package/lib/generated/deleted-business-messages.js +108 -48
- package/lib/generated/deleted-business-messages.js.map +1 -1
- package/lib/generated/edited-business-message.d.ts +83 -41
- package/lib/generated/edited-business-message.d.ts.map +1 -1
- package/lib/generated/edited-business-message.js +125 -41
- package/lib/generated/edited-business-message.js.map +1 -1
- package/lib/generated/edited-channel-post.d.ts +33 -35
- package/lib/generated/edited-channel-post.d.ts.map +1 -1
- package/lib/generated/edited-channel-post.js +37 -41
- package/lib/generated/edited-channel-post.js.map +1 -1
- package/lib/generated/edited-message.d.ts +33 -35
- package/lib/generated/edited-message.d.ts.map +1 -1
- package/lib/generated/edited-message.js +37 -41
- package/lib/generated/edited-message.js.map +1 -1
- package/lib/generated/guest-message.d.ts +37 -37
- package/lib/generated/guest-message.d.ts.map +1 -1
- package/lib/generated/guest-message.js +42 -42
- package/lib/generated/guest-message.js.map +1 -1
- package/lib/generated/index.d.ts +3 -2
- package/lib/generated/index.d.ts.map +1 -1
- package/lib/generated/index.js +3 -2
- package/lib/generated/index.js.map +1 -1
- package/lib/generated/message-reaction-count.d.ts +0 -16
- package/lib/generated/message-reaction-count.d.ts.map +1 -1
- package/lib/generated/message-reaction-count.js +0 -32
- package/lib/generated/message-reaction-count.js.map +1 -1
- package/lib/generated/message-reaction.d.ts +0 -16
- package/lib/generated/message-reaction.d.ts.map +1 -1
- package/lib/generated/message-reaction.js +0 -32
- package/lib/generated/message-reaction.js.map +1 -1
- package/lib/generated/message.d.ts +33 -35
- package/lib/generated/message.d.ts.map +1 -1
- package/lib/generated/message.js +37 -41
- package/lib/generated/message.js.map +1 -1
- package/lib/generated/my-chat-member.d.ts +0 -12
- package/lib/generated/my-chat-member.d.ts.map +1 -1
- package/lib/generated/my-chat-member.js +0 -24
- package/lib/generated/my-chat-member.js.map +1 -1
- package/lib/generated/removed-chat-boost.d.ts +0 -12
- package/lib/generated/removed-chat-boost.d.ts.map +1 -1
- package/lib/generated/removed-chat-boost.js +0 -24
- package/lib/generated/removed-chat-boost.js.map +1 -1
- package/lib/index.test.js +203 -1
- package/lib/index.test.js.map +1 -1
- package/lib/sugar/business-message.d.ts +12 -3
- package/lib/sugar/business-message.d.ts.map +1 -1
- package/lib/sugar/business-message.js +12 -1
- package/lib/sugar/business-message.js.map +1 -1
- package/lib/sugar/channel-post.d.ts +5 -2
- package/lib/sugar/channel-post.d.ts.map +1 -1
- package/lib/sugar/edited-business-message.d.ts +12 -3
- package/lib/sugar/edited-business-message.d.ts.map +1 -1
- package/lib/sugar/edited-business-message.js +12 -1
- package/lib/sugar/edited-business-message.js.map +1 -1
- package/lib/sugar/edited-channel-post.d.ts +5 -2
- package/lib/sugar/edited-channel-post.d.ts.map +1 -1
- package/lib/sugar/edited-message.d.ts +5 -2
- package/lib/sugar/edited-message.d.ts.map +1 -1
- package/lib/sugar/guest-message.d.ts +13 -0
- package/lib/sugar/guest-message.d.ts.map +1 -0
- package/lib/sugar/guest-message.js +13 -0
- package/lib/sugar/guest-message.js.map +1 -0
- package/lib/sugar/message-mixin.d.ts +6 -0
- package/lib/sugar/message-mixin.d.ts.map +1 -1
- package/lib/sugar/message-mixin.js +32 -1
- package/lib/sugar/message-mixin.js.map +1 -1
- package/lib/sugar/message.d.ts +5 -2
- package/lib/sugar/message.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/generated/business-connection.ts +96 -0
- package/src/generated/business-message.ts +166 -82
- package/src/generated/callback-query.ts +80 -80
- package/src/generated/channel-post.ts +66 -70
- package/src/generated/chat-boost.ts +0 -24
- package/src/generated/chat-join-request.ts +0 -24
- package/src/generated/chat-member.ts +0 -24
- package/src/generated/deleted-business-messages.ts +136 -76
- package/src/generated/edited-business-message.ts +166 -82
- package/src/generated/edited-channel-post.ts +66 -70
- package/src/generated/edited-message.ts +66 -70
- package/src/generated/guest-message.ts +72 -72
- package/src/generated/index.ts +3 -2
- package/src/generated/message-reaction-count.ts +0 -32
- package/src/generated/message-reaction.ts +0 -32
- package/src/generated/message.ts +66 -70
- package/src/generated/my-chat-member.ts +0 -24
- package/src/generated/removed-chat-boost.ts +0 -24
- package/src/index.test.ts +227 -0
- package/src/sugar/business-message.ts +14 -2
- package/src/sugar/edited-business-message.ts +14 -2
- package/src/sugar/guest-message.ts +20 -0
- package/src/sugar/message-mixin.ts +41 -1
|
@@ -26,11 +26,44 @@ interface MessageFields {
|
|
|
26
26
|
chat: t.Chat;
|
|
27
27
|
message_id: number;
|
|
28
28
|
from?: t.User;
|
|
29
|
+
business_connection_id?: string;
|
|
30
|
+
message_thread_id?: number;
|
|
31
|
+
direct_messages_topic?: t.DirectMessagesTopic;
|
|
29
32
|
}
|
|
30
33
|
|
|
31
34
|
// biome-ignore lint/suspicious/noExplicitAny: mixin base constructor
|
|
32
35
|
type Ctor<T> = abstract new (...args: any[]) => T;
|
|
33
36
|
|
|
37
|
+
/**
|
|
38
|
+
* on a business message every action has to be routed through the connection, or
|
|
39
|
+
* Telegram performs it as the bot instead of the connected account. shared by every
|
|
40
|
+
* method below — editMessageText/editMessageCaption take business_connection_id too.
|
|
41
|
+
*/
|
|
42
|
+
function businessRouting(ctx: MessageFields): { business_connection_id?: string } {
|
|
43
|
+
return ctx.business_connection_id === undefined
|
|
44
|
+
? {}
|
|
45
|
+
: { business_connection_id: ctx.business_connection_id };
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* full outgoing routing for send/reply: the business connection plus the forum topic /
|
|
50
|
+
* direct-messages topic this message lives in, so a reply doesn't fall back to General.
|
|
51
|
+
* (undefined is dropped by `encodeRequest`, so plain messages are unaffected.)
|
|
52
|
+
*/
|
|
53
|
+
function routing(ctx: MessageFields): {
|
|
54
|
+
business_connection_id?: string;
|
|
55
|
+
message_thread_id?: number;
|
|
56
|
+
direct_messages_topic_id?: number;
|
|
57
|
+
} {
|
|
58
|
+
return {
|
|
59
|
+
...businessRouting(ctx),
|
|
60
|
+
...(ctx.message_thread_id === undefined ? {} : { message_thread_id: ctx.message_thread_id }),
|
|
61
|
+
...(ctx.direct_messages_topic?.topic_id === undefined
|
|
62
|
+
? {}
|
|
63
|
+
: { direct_messages_topic_id: ctx.direct_messages_topic.topic_id }),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
|
|
34
67
|
/**
|
|
35
68
|
* Adds the ergonomic positional overloads + convenience getters shared by every
|
|
36
69
|
* Message-based context (message, channel_post, edited_*, business_*). Methods
|
|
@@ -43,7 +76,11 @@ export function MessageSugar<TBase extends Ctor<MessageFields>>(Base: TBase) {
|
|
|
43
76
|
send(params: Omit<t.SendMessageParams, "chat_id">): Promise<t.Message>;
|
|
44
77
|
send(a: string | Omit<t.SendMessageParams, "chat_id">, b?: SendExtra): Promise<t.Message> {
|
|
45
78
|
const params = typeof a === "string" ? { text: a, ...b } : a;
|
|
46
|
-
return this.api.call<t.Message>("sendMessage", {
|
|
79
|
+
return this.api.call<t.Message>("sendMessage", {
|
|
80
|
+
chat_id: this.chat.id,
|
|
81
|
+
...routing(this),
|
|
82
|
+
...params,
|
|
83
|
+
});
|
|
47
84
|
}
|
|
48
85
|
|
|
49
86
|
/** Reply to this message. Pass a string for the common case. */
|
|
@@ -54,6 +91,7 @@ export function MessageSugar<TBase extends Ctor<MessageFields>>(Base: TBase) {
|
|
|
54
91
|
return this.api.call<t.Message>("sendMessage", {
|
|
55
92
|
chat_id: this.chat.id,
|
|
56
93
|
reply_parameters: { message_id: this.message_id },
|
|
94
|
+
...routing(this),
|
|
57
95
|
...params,
|
|
58
96
|
});
|
|
59
97
|
}
|
|
@@ -71,6 +109,7 @@ export function MessageSugar<TBase extends Ctor<MessageFields>>(Base: TBase) {
|
|
|
71
109
|
return this.api.call<t.Message | boolean>("editMessageText", {
|
|
72
110
|
chat_id: this.chat.id,
|
|
73
111
|
message_id: this.message_id,
|
|
112
|
+
...businessRouting(this),
|
|
74
113
|
...params,
|
|
75
114
|
});
|
|
76
115
|
}
|
|
@@ -88,6 +127,7 @@ export function MessageSugar<TBase extends Ctor<MessageFields>>(Base: TBase) {
|
|
|
88
127
|
return this.api.call<t.Message | boolean>("editMessageCaption", {
|
|
89
128
|
chat_id: this.chat.id,
|
|
90
129
|
message_id: this.message_id,
|
|
130
|
+
...businessRouting(this),
|
|
91
131
|
...params,
|
|
92
132
|
});
|
|
93
133
|
}
|