@mtkruto/node 0.2.33 → 0.2.35
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/esm/transport/1_transport_abridged.d.ts.map +1 -1
- package/esm/transport/1_transport_abridged.js +2 -3
- package/esm/types/2_inline_keyboard_button.d.ts +12 -1
- package/esm/types/2_inline_keyboard_button.d.ts.map +1 -1
- package/esm/types/2_inline_keyboard_button.js +32 -0
- package/package.json +1 -1
- package/script/transport/1_transport_abridged.d.ts.map +1 -1
- package/script/transport/1_transport_abridged.js +1 -2
- package/script/types/2_inline_keyboard_button.d.ts +12 -1
- package/script/types/2_inline_keyboard_button.d.ts.map +1 -1
- package/script/types/2_inline_keyboard_button.js +32 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1_transport_abridged.d.ts","sourceRoot":"","sources":["../../src/transport/1_transport_abridged.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBAAa,iBAAkB,SAAQ,SAAU,YAAW,SAAS;;gBAKvD,UAAU,EAAE,UAAU,EAAE,UAAU,UAAQ;IAMhD,UAAU;IAWV,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"1_transport_abridged.d.ts","sourceRoot":"","sources":["../../src/transport/1_transport_abridged.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBAAa,iBAAkB,SAAQ,SAAU,YAAW,SAAS;;gBAKvD,UAAU,EAAE,UAAU,EAAE,UAAU,UAAQ;IAMhD,UAAU;IAWV,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IA2B9B,IAAI,CAAC,MAAM,EAAE,UAAU;IAe7B,YAAY;IAKZ,IAAI,WAAW,IAAI,OAAO,CAEzB;CACF"}
|
|
@@ -31,7 +31,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
31
31
|
var _TransportAbridged_initialized, _TransportAbridged_connection, _TransportAbridged_obfuscated;
|
|
32
32
|
import { concat } from "../0_deps.js";
|
|
33
33
|
import { ConnectionError } from "../0_errors.js";
|
|
34
|
-
import { bufferFromBigInt } from "../1_utilities.js";
|
|
34
|
+
import { bigIntFromBuffer, bufferFromBigInt } from "../1_utilities.js";
|
|
35
35
|
import { getObfuscationParameters } from "./0_obfuscation.js";
|
|
36
36
|
import { Transport } from "./0_transport.js";
|
|
37
37
|
export class TransportAbridged extends Transport {
|
|
@@ -67,8 +67,7 @@ export class TransportAbridged extends Transport {
|
|
|
67
67
|
const buffer = new Uint8Array(3);
|
|
68
68
|
await __classPrivateFieldGet(this, _TransportAbridged_connection, "f").read(buffer);
|
|
69
69
|
this.decrypt(buffer);
|
|
70
|
-
|
|
71
|
-
length = dataView.getUint16(0, true);
|
|
70
|
+
length = Number(bigIntFromBuffer(buffer, true, true));
|
|
72
71
|
}
|
|
73
72
|
}
|
|
74
73
|
length *= 4;
|
|
@@ -56,6 +56,17 @@ export interface InlineKeyboardButtonSwitchInlineCurrent extends _InlineKeyboard
|
|
|
56
56
|
switchInlineQueryCurrentChat: string;
|
|
57
57
|
}
|
|
58
58
|
/** @unlisted */
|
|
59
|
+
export interface InlineKeyboardButtonSwitchInlineChosen extends _InlineKeyboardButtonBase {
|
|
60
|
+
/** @discriminator */
|
|
61
|
+
switchInlineQueryChosenChats: {
|
|
62
|
+
query: string;
|
|
63
|
+
allowUsers?: boolean;
|
|
64
|
+
allowBots?: boolean;
|
|
65
|
+
allowGroups?: boolean;
|
|
66
|
+
allowChannels?: boolean;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/** @unlisted */
|
|
59
70
|
export interface InlineKeyboardButtonGame extends _InlineKeyboardButtonBase {
|
|
60
71
|
/** @discriminator */
|
|
61
72
|
callbackGame: Record<never, never>;
|
|
@@ -66,7 +77,7 @@ export interface InlineKeyboardButtonPay extends _InlineKeyboardButtonBase {
|
|
|
66
77
|
pay: boolean;
|
|
67
78
|
}
|
|
68
79
|
/** A button of an inline keyboard. */
|
|
69
|
-
export type InlineKeyboardButton = InlineKeyboardButtonURL | InlineKeyboardButtonCallback | InlineKeyboardButtonMiniApp | InlineKeyboardButtonLogin | InlineKeyboardButtonSwitchInline | InlineKeyboardButtonSwitchInlineCurrent | InlineKeyboardButtonGame | InlineKeyboardButtonPay;
|
|
80
|
+
export type InlineKeyboardButton = InlineKeyboardButtonURL | InlineKeyboardButtonCallback | InlineKeyboardButtonMiniApp | InlineKeyboardButtonLogin | InlineKeyboardButtonSwitchInline | InlineKeyboardButtonSwitchInlineCurrent | InlineKeyboardButtonSwitchInlineChosen | InlineKeyboardButtonGame | InlineKeyboardButtonPay;
|
|
70
81
|
export declare function constructInlineKeyboardButton(button_: Api.KeyboardButton): InlineKeyboardButton;
|
|
71
82
|
export declare function inlineKeyboardButtonToTlObject(button: InlineKeyboardButton, usernameResolver: UsernameResolver): Promise<Api.KeyboardButton>;
|
|
72
83
|
//# sourceMappingURL=2_inline_keyboard_button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2_inline_keyboard_button.d.ts","sourceRoot":"","sources":["../../src/types/2_inline_keyboard_button.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"2_inline_keyboard_button.d.ts","sourceRoot":"","sources":["../../src/types/2_inline_keyboard_button.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,EAAE,GAAG,EAAM,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAwB,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEzE,gBAAgB;AAChB,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,gBAAgB;AAChB,MAAM,WAAW,uBAAwB,SAAQ,yBAAyB;IACxE,qBAAqB;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,gBAAgB;AAChB,MAAM,WAAW,4BAA6B,SAAQ,yBAAyB;IAC7E,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,gBAAgB;AAChB,MAAM,WAAW,2BAA4B,SAAQ,yBAAyB;IAC5E,qBAAqB;IACrB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,gBAAgB;AAChB,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC1E,qBAAqB;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,gBAAgB;AAChB,MAAM,WAAW,gCAAiC,SAAQ,yBAAyB;IACjF,qBAAqB;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,gBAAgB;AAChB,MAAM,WAAW,uCAAwC,SAAQ,yBAAyB;IACxF,qBAAqB;IACrB,4BAA4B,EAAE,MAAM,CAAC;CACtC;AAED,gBAAgB;AAChB,MAAM,WAAW,sCAAuC,SAAQ,yBAAyB;IACvF,qBAAqB;IACrB,4BAA4B,EAAE;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AAED,gBAAgB;AAChB,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IACzE,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;CACpC;AAED,gBAAgB;AAChB,MAAM,WAAW,uBAAwB,SAAQ,yBAAyB;IACxE,qBAAqB;IACrB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,sCAAsC;AACtC,MAAM,MAAM,oBAAoB,GAC5B,uBAAuB,GACvB,4BAA4B,GAC5B,2BAA2B,GAC3B,yBAAyB,GACzB,gCAAgC,GAChC,uCAAuC,GACvC,sCAAsC,GACtC,wBAAwB,GACxB,uBAAuB,CAAC;AAE5B,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,GAAG,oBAAoB,CA8B/F;AAED,wBAAsB,8BAA8B,CAAC,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAqClJ"}
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
19
19
|
*/
|
|
20
20
|
import { unreachable } from "../0_deps.js";
|
|
21
|
+
import { InputError } from "../0_errors.js";
|
|
22
|
+
import { cleanObject } from "../1_utilities.js";
|
|
21
23
|
import { is } from "../2_tl.js";
|
|
22
24
|
import { constructMiniAppInfo } from "./0_mini_app_info.js";
|
|
23
25
|
export function constructInlineKeyboardButton(button_) {
|
|
@@ -37,6 +39,13 @@ export function constructInlineKeyboardButton(button_) {
|
|
|
37
39
|
if (button_.same_peer) {
|
|
38
40
|
return { text: button_.text, switchInlineQueryCurrentChat: button_.query };
|
|
39
41
|
}
|
|
42
|
+
else if (button_.peer_types && button_.peer_types.length) {
|
|
43
|
+
const allowUsers = button_.peer_types.some((v) => v._ == "inlineQueryPeerTypeBotPM") || undefined;
|
|
44
|
+
const allowBots = button_.peer_types.some((v) => v._ == "inlineQueryPeerTypeSameBotPM" || v._ == "inlineQueryPeerTypeBotPM") || undefined;
|
|
45
|
+
const allowGroups = button_.peer_types.some((v) => v._ == "inlineQueryPeerTypeChat" || v._ == "inlineQueryPeerTypeMegagroup") || undefined;
|
|
46
|
+
const allowChannels = button_.peer_types.some((v) => v._ == "inlineQueryPeerTypeBroadcast") || undefined;
|
|
47
|
+
return cleanObject({ text: button_.text, switchInlineQueryChosenChats: { query: button_.query, allowUsers, allowBots, allowGroups, allowChannels } });
|
|
48
|
+
}
|
|
40
49
|
else {
|
|
41
50
|
return { text: button_.text, switchInlineQuery: button_.query };
|
|
42
51
|
}
|
|
@@ -47,6 +56,9 @@ export function constructInlineKeyboardButton(button_) {
|
|
|
47
56
|
else if (is("keyboardButtonGame", button_)) {
|
|
48
57
|
return { text: button_.text, callbackGame: {} };
|
|
49
58
|
}
|
|
59
|
+
else if (is("keyboardButtonRequestPeer", button_)) {
|
|
60
|
+
unreachable();
|
|
61
|
+
}
|
|
50
62
|
else {
|
|
51
63
|
unreachable();
|
|
52
64
|
}
|
|
@@ -70,6 +82,26 @@ export async function inlineKeyboardButtonToTlObject(button, usernameResolver) {
|
|
|
70
82
|
else if ("switchInlineQueryCurrentChat" in button) {
|
|
71
83
|
return { _: "keyboardButtonSwitchInline", text: button.text, query: button.switchInlineQueryCurrentChat, same_peer: true };
|
|
72
84
|
}
|
|
85
|
+
else if ("switchInlineQueryChosenChats" in button) {
|
|
86
|
+
const peerTypes = new Array();
|
|
87
|
+
const { allowUsers, allowBots, allowGroups, allowChannels } = button.switchInlineQueryChosenChats;
|
|
88
|
+
if (!allowUsers && !allowBots && !allowGroups && !allowChannels) {
|
|
89
|
+
throw new InputError("switchInlineQueryChosenChats: At least one chat type must be allowed");
|
|
90
|
+
}
|
|
91
|
+
if (allowUsers) {
|
|
92
|
+
peerTypes.push({ _: "inlineQueryPeerTypeBotPM" });
|
|
93
|
+
}
|
|
94
|
+
if (allowBots) {
|
|
95
|
+
peerTypes.push({ _: "inlineQueryPeerTypeSameBotPM" }, { _: "inlineQueryPeerTypeBotPM" });
|
|
96
|
+
}
|
|
97
|
+
if (allowGroups) {
|
|
98
|
+
peerTypes.push({ _: "inlineQueryPeerTypeChat" }, { _: "inlineQueryPeerTypeMegagroup" });
|
|
99
|
+
}
|
|
100
|
+
if (allowChannels) {
|
|
101
|
+
peerTypes.push({ _: "inlineQueryPeerTypeBroadcast" });
|
|
102
|
+
}
|
|
103
|
+
return { _: "keyboardButtonSwitchInline", text: button.text, query: button.switchInlineQueryChosenChats.query, peer_types: peerTypes };
|
|
104
|
+
}
|
|
73
105
|
else if ("pay" in button) {
|
|
74
106
|
return { _: "keyboardButtonBuy", text: button.text };
|
|
75
107
|
}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1_transport_abridged.d.ts","sourceRoot":"","sources":["../../src/transport/1_transport_abridged.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBAAa,iBAAkB,SAAQ,SAAU,YAAW,SAAS;;gBAKvD,UAAU,EAAE,UAAU,EAAE,UAAU,UAAQ;IAMhD,UAAU;IAWV,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"1_transport_abridged.d.ts","sourceRoot":"","sources":["../../src/transport/1_transport_abridged.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,qBAAa,iBAAkB,SAAQ,SAAU,YAAW,SAAS;;gBAKvD,UAAU,EAAE,UAAU,EAAE,UAAU,UAAQ;IAMhD,UAAU;IAWV,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IA2B9B,IAAI,CAAC,MAAM,EAAE,UAAU;IAe7B,YAAY;IAKZ,IAAI,WAAW,IAAI,OAAO,CAEzB;CACF"}
|
|
@@ -70,8 +70,7 @@ class TransportAbridged extends _0_transport_js_1.Transport {
|
|
|
70
70
|
const buffer = new Uint8Array(3);
|
|
71
71
|
await __classPrivateFieldGet(this, _TransportAbridged_connection, "f").read(buffer);
|
|
72
72
|
this.decrypt(buffer);
|
|
73
|
-
|
|
74
|
-
length = dataView.getUint16(0, true);
|
|
73
|
+
length = Number((0, _1_utilities_js_1.bigIntFromBuffer)(buffer, true, true));
|
|
75
74
|
}
|
|
76
75
|
}
|
|
77
76
|
length *= 4;
|
|
@@ -56,6 +56,17 @@ export interface InlineKeyboardButtonSwitchInlineCurrent extends _InlineKeyboard
|
|
|
56
56
|
switchInlineQueryCurrentChat: string;
|
|
57
57
|
}
|
|
58
58
|
/** @unlisted */
|
|
59
|
+
export interface InlineKeyboardButtonSwitchInlineChosen extends _InlineKeyboardButtonBase {
|
|
60
|
+
/** @discriminator */
|
|
61
|
+
switchInlineQueryChosenChats: {
|
|
62
|
+
query: string;
|
|
63
|
+
allowUsers?: boolean;
|
|
64
|
+
allowBots?: boolean;
|
|
65
|
+
allowGroups?: boolean;
|
|
66
|
+
allowChannels?: boolean;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/** @unlisted */
|
|
59
70
|
export interface InlineKeyboardButtonGame extends _InlineKeyboardButtonBase {
|
|
60
71
|
/** @discriminator */
|
|
61
72
|
callbackGame: Record<never, never>;
|
|
@@ -66,7 +77,7 @@ export interface InlineKeyboardButtonPay extends _InlineKeyboardButtonBase {
|
|
|
66
77
|
pay: boolean;
|
|
67
78
|
}
|
|
68
79
|
/** A button of an inline keyboard. */
|
|
69
|
-
export type InlineKeyboardButton = InlineKeyboardButtonURL | InlineKeyboardButtonCallback | InlineKeyboardButtonMiniApp | InlineKeyboardButtonLogin | InlineKeyboardButtonSwitchInline | InlineKeyboardButtonSwitchInlineCurrent | InlineKeyboardButtonGame | InlineKeyboardButtonPay;
|
|
80
|
+
export type InlineKeyboardButton = InlineKeyboardButtonURL | InlineKeyboardButtonCallback | InlineKeyboardButtonMiniApp | InlineKeyboardButtonLogin | InlineKeyboardButtonSwitchInline | InlineKeyboardButtonSwitchInlineCurrent | InlineKeyboardButtonSwitchInlineChosen | InlineKeyboardButtonGame | InlineKeyboardButtonPay;
|
|
70
81
|
export declare function constructInlineKeyboardButton(button_: Api.KeyboardButton): InlineKeyboardButton;
|
|
71
82
|
export declare function inlineKeyboardButtonToTlObject(button: InlineKeyboardButton, usernameResolver: UsernameResolver): Promise<Api.KeyboardButton>;
|
|
72
83
|
//# sourceMappingURL=2_inline_keyboard_button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2_inline_keyboard_button.d.ts","sourceRoot":"","sources":["../../src/types/2_inline_keyboard_button.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"2_inline_keyboard_button.d.ts","sourceRoot":"","sources":["../../src/types/2_inline_keyboard_button.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,EAAE,GAAG,EAAM,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAwB,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEzE,gBAAgB;AAChB,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,gBAAgB;AAChB,MAAM,WAAW,uBAAwB,SAAQ,yBAAyB;IACxE,qBAAqB;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,gBAAgB;AAChB,MAAM,WAAW,4BAA6B,SAAQ,yBAAyB;IAC7E,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,gBAAgB;AAChB,MAAM,WAAW,2BAA4B,SAAQ,yBAAyB;IAC5E,qBAAqB;IACrB,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,gBAAgB;AAChB,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC1E,qBAAqB;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,gBAAgB;AAChB,MAAM,WAAW,gCAAiC,SAAQ,yBAAyB;IACjF,qBAAqB;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,gBAAgB;AAChB,MAAM,WAAW,uCAAwC,SAAQ,yBAAyB;IACxF,qBAAqB;IACrB,4BAA4B,EAAE,MAAM,CAAC;CACtC;AAED,gBAAgB;AAChB,MAAM,WAAW,sCAAuC,SAAQ,yBAAyB;IACvF,qBAAqB;IACrB,4BAA4B,EAAE;QAC5B,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AAED,gBAAgB;AAChB,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IACzE,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;CACpC;AAED,gBAAgB;AAChB,MAAM,WAAW,uBAAwB,SAAQ,yBAAyB;IACxE,qBAAqB;IACrB,GAAG,EAAE,OAAO,CAAC;CACd;AAED,sCAAsC;AACtC,MAAM,MAAM,oBAAoB,GAC5B,uBAAuB,GACvB,4BAA4B,GAC5B,2BAA2B,GAC3B,yBAAyB,GACzB,gCAAgC,GAChC,uCAAuC,GACvC,sCAAsC,GACtC,wBAAwB,GACxB,uBAAuB,CAAC;AAE5B,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,GAAG,CAAC,cAAc,GAAG,oBAAoB,CA8B/F;AAED,wBAAsB,8BAA8B,CAAC,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAqClJ"}
|
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
22
|
exports.inlineKeyboardButtonToTlObject = exports.constructInlineKeyboardButton = void 0;
|
|
23
23
|
const _0_deps_js_1 = require("../0_deps.js");
|
|
24
|
+
const _0_errors_js_1 = require("../0_errors.js");
|
|
25
|
+
const _1_utilities_js_1 = require("../1_utilities.js");
|
|
24
26
|
const _2_tl_js_1 = require("../2_tl.js");
|
|
25
27
|
const _0_mini_app_info_js_1 = require("./0_mini_app_info.js");
|
|
26
28
|
function constructInlineKeyboardButton(button_) {
|
|
@@ -40,6 +42,13 @@ function constructInlineKeyboardButton(button_) {
|
|
|
40
42
|
if (button_.same_peer) {
|
|
41
43
|
return { text: button_.text, switchInlineQueryCurrentChat: button_.query };
|
|
42
44
|
}
|
|
45
|
+
else if (button_.peer_types && button_.peer_types.length) {
|
|
46
|
+
const allowUsers = button_.peer_types.some((v) => v._ == "inlineQueryPeerTypeBotPM") || undefined;
|
|
47
|
+
const allowBots = button_.peer_types.some((v) => v._ == "inlineQueryPeerTypeSameBotPM" || v._ == "inlineQueryPeerTypeBotPM") || undefined;
|
|
48
|
+
const allowGroups = button_.peer_types.some((v) => v._ == "inlineQueryPeerTypeChat" || v._ == "inlineQueryPeerTypeMegagroup") || undefined;
|
|
49
|
+
const allowChannels = button_.peer_types.some((v) => v._ == "inlineQueryPeerTypeBroadcast") || undefined;
|
|
50
|
+
return (0, _1_utilities_js_1.cleanObject)({ text: button_.text, switchInlineQueryChosenChats: { query: button_.query, allowUsers, allowBots, allowGroups, allowChannels } });
|
|
51
|
+
}
|
|
43
52
|
else {
|
|
44
53
|
return { text: button_.text, switchInlineQuery: button_.query };
|
|
45
54
|
}
|
|
@@ -50,6 +59,9 @@ function constructInlineKeyboardButton(button_) {
|
|
|
50
59
|
else if ((0, _2_tl_js_1.is)("keyboardButtonGame", button_)) {
|
|
51
60
|
return { text: button_.text, callbackGame: {} };
|
|
52
61
|
}
|
|
62
|
+
else if ((0, _2_tl_js_1.is)("keyboardButtonRequestPeer", button_)) {
|
|
63
|
+
(0, _0_deps_js_1.unreachable)();
|
|
64
|
+
}
|
|
53
65
|
else {
|
|
54
66
|
(0, _0_deps_js_1.unreachable)();
|
|
55
67
|
}
|
|
@@ -74,6 +86,26 @@ async function inlineKeyboardButtonToTlObject(button, usernameResolver) {
|
|
|
74
86
|
else if ("switchInlineQueryCurrentChat" in button) {
|
|
75
87
|
return { _: "keyboardButtonSwitchInline", text: button.text, query: button.switchInlineQueryCurrentChat, same_peer: true };
|
|
76
88
|
}
|
|
89
|
+
else if ("switchInlineQueryChosenChats" in button) {
|
|
90
|
+
const peerTypes = new Array();
|
|
91
|
+
const { allowUsers, allowBots, allowGroups, allowChannels } = button.switchInlineQueryChosenChats;
|
|
92
|
+
if (!allowUsers && !allowBots && !allowGroups && !allowChannels) {
|
|
93
|
+
throw new _0_errors_js_1.InputError("switchInlineQueryChosenChats: At least one chat type must be allowed");
|
|
94
|
+
}
|
|
95
|
+
if (allowUsers) {
|
|
96
|
+
peerTypes.push({ _: "inlineQueryPeerTypeBotPM" });
|
|
97
|
+
}
|
|
98
|
+
if (allowBots) {
|
|
99
|
+
peerTypes.push({ _: "inlineQueryPeerTypeSameBotPM" }, { _: "inlineQueryPeerTypeBotPM" });
|
|
100
|
+
}
|
|
101
|
+
if (allowGroups) {
|
|
102
|
+
peerTypes.push({ _: "inlineQueryPeerTypeChat" }, { _: "inlineQueryPeerTypeMegagroup" });
|
|
103
|
+
}
|
|
104
|
+
if (allowChannels) {
|
|
105
|
+
peerTypes.push({ _: "inlineQueryPeerTypeBroadcast" });
|
|
106
|
+
}
|
|
107
|
+
return { _: "keyboardButtonSwitchInline", text: button.text, query: button.switchInlineQueryChosenChats.query, peer_types: peerTypes };
|
|
108
|
+
}
|
|
77
109
|
else if ("pay" in button) {
|
|
78
110
|
return { _: "keyboardButtonBuy", text: button.text };
|
|
79
111
|
}
|