telegram-bot-api-nodejs 1.2.6 → 1.2.9
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/index.d.ts +30 -37
- package/index.js +37 -38
- package/package.json +3 -3
package/index.d.ts
CHANGED
|
@@ -26,6 +26,16 @@ export interface SendMessageOptions extends SendBasicOptions {
|
|
|
26
26
|
disable_web_page_preview?: boolean;
|
|
27
27
|
entities?: MessageEntity[];
|
|
28
28
|
}
|
|
29
|
+
export interface SendPhotoOptions extends SendBasicOptions {
|
|
30
|
+
photo: string;
|
|
31
|
+
caption?: string;
|
|
32
|
+
parse_mode?: ParseMode;
|
|
33
|
+
}
|
|
34
|
+
export interface SendAudioOptions extends SendBasicOptions {
|
|
35
|
+
audio: string;
|
|
36
|
+
caption?: string;
|
|
37
|
+
parse_mode?: ParseMode;
|
|
38
|
+
}
|
|
29
39
|
export interface SendAnimationOptions extends SendBasicOptions {
|
|
30
40
|
animation: string;
|
|
31
41
|
parse_mode?: ParseMode;
|
|
@@ -36,6 +46,16 @@ export interface SendDocumentOptions extends SendBasicOptions {
|
|
|
36
46
|
parse_mode?: ParseMode;
|
|
37
47
|
caption?: string;
|
|
38
48
|
}
|
|
49
|
+
export interface SendVideoOptions extends SendBasicOptions {
|
|
50
|
+
video: string;
|
|
51
|
+
caption?: string;
|
|
52
|
+
parse_mode?: ParseMode;
|
|
53
|
+
}
|
|
54
|
+
export interface SendVoiceOptions extends SendBasicOptions {
|
|
55
|
+
voice: string;
|
|
56
|
+
caption?: string;
|
|
57
|
+
parse_mode?: ParseMode;
|
|
58
|
+
}
|
|
39
59
|
export interface SendMediaGroupOptions extends SendBasicOptions {
|
|
40
60
|
media: Array<InputMediaAudio | InputMediaDocument | InputMediaPhoto | InputMediaVideo>;
|
|
41
61
|
}
|
|
@@ -1082,44 +1102,13 @@ export declare function deleteMessage(token: string, payload: {
|
|
|
1082
1102
|
chat_id: string | number;
|
|
1083
1103
|
message_id: number;
|
|
1084
1104
|
}, signal: AbortSignal): Promise<{}>;
|
|
1085
|
-
export declare function sendPhoto(token: string, payload:
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
parse_mode?: ParseMode;
|
|
1089
|
-
}, signal: AbortSignal): Promise<Message>;
|
|
1090
|
-
export declare function sendAudio(token: string, payload: SendBasicOptions & {
|
|
1091
|
-
audio: string;
|
|
1092
|
-
caption?: string;
|
|
1093
|
-
parse_mode?: ParseMode;
|
|
1094
|
-
}, signal: AbortSignal): Promise<Message>;
|
|
1095
|
-
export declare function sendAnimation(token: string, payload: SendAnimationOptions, signal: AbortSignal): Promise<Message>;
|
|
1096
|
-
/**
|
|
1097
|
-
* @example
|
|
1098
|
-
*
|
|
1099
|
-
* const body = new FormData()
|
|
1100
|
-
*
|
|
1101
|
-
* body.append("chat_id", payload.chat_id)
|
|
1102
|
-
* body.append("caption", payload.caption)
|
|
1103
|
-
* body.append("document", payload.document, payload.documentName)
|
|
1104
|
-
*
|
|
1105
|
-
* if (payload.parse_mode) {
|
|
1106
|
-
* body.append("parse_mode", payload.parse_mode)
|
|
1107
|
-
* }
|
|
1108
|
-
*
|
|
1109
|
-
* sendDocument("token", payload)
|
|
1110
|
-
*/
|
|
1105
|
+
export declare function sendPhoto(token: string, payload: SendPhotoOptions | FormData, signal: AbortSignal): Promise<Message>;
|
|
1106
|
+
export declare function sendAudio(token: string, payload: SendAudioOptions | FormData, signal: AbortSignal): Promise<Message>;
|
|
1107
|
+
export declare function sendAnimation(token: string, payload: SendAnimationOptions | FormData, signal: AbortSignal): Promise<Message>;
|
|
1111
1108
|
export declare function sendDocument(token: string, payload: SendDocumentOptions | FormData, signal: AbortSignal): Promise<Message>;
|
|
1112
|
-
export declare function sendVideo(token: string, payload:
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
parse_mode?: ParseMode;
|
|
1116
|
-
}, signal: AbortSignal): Promise<Message>;
|
|
1117
|
-
export declare function sendVoice(token: string, payload: SendBasicOptions & {
|
|
1118
|
-
voice: string;
|
|
1119
|
-
caption?: string;
|
|
1120
|
-
parse_mode?: ParseMode;
|
|
1121
|
-
}, signal: AbortSignal): Promise<Message>;
|
|
1122
|
-
export declare function sendMediaGroup(token: string, payload: SendMediaGroupOptions, signal: AbortSignal): Promise<Message[]>;
|
|
1109
|
+
export declare function sendVideo(token: string, payload: SendVideoOptions | FormData, signal: AbortSignal): Promise<Message>;
|
|
1110
|
+
export declare function sendVoice(token: string, payload: SendVoiceOptions | FormData, signal: AbortSignal): Promise<Message>;
|
|
1111
|
+
export declare function sendMediaGroup(token: string, payload: SendMediaGroupOptions | FormData, signal: AbortSignal): Promise<Message[]>;
|
|
1123
1112
|
export declare function setMessageReaction(token: string, payload: {
|
|
1124
1113
|
chat_id: string | number;
|
|
1125
1114
|
message_id: number;
|
|
@@ -1155,6 +1144,8 @@ export declare function getBusinessConnection(token: string, payload: {
|
|
|
1155
1144
|
* Parsers
|
|
1156
1145
|
*/
|
|
1157
1146
|
export declare function parseUpdate(update: any): Update;
|
|
1147
|
+
export declare function prepareFormBody(payload: FormData | Object): BodyInit | string;
|
|
1148
|
+
export declare function prepareFormHeaders(forPayload: FormData | Object): HeadersInit | undefined;
|
|
1158
1149
|
export declare function parseResponse<T>(response: Response): Promise<T>;
|
|
1159
1150
|
export declare class TelegramError extends Error {
|
|
1160
1151
|
status: number;
|
|
@@ -1185,12 +1176,14 @@ export declare function isMessageToEditNotFoundError(err: unknown): boolean;
|
|
|
1185
1176
|
export declare function isMessageToDeleteNotFoundError(err: unknown): boolean;
|
|
1186
1177
|
export declare function isMessageNotModifiedError(err: unknown): boolean;
|
|
1187
1178
|
export declare function isWrongTypeOfTheWebPageContentError(err: unknown): boolean;
|
|
1179
|
+
export declare function isWebpageMediaEmptyError(err: unknown): boolean;
|
|
1188
1180
|
export declare function isFailToGetHTTPURLContentError(err: unknown): boolean;
|
|
1189
1181
|
export declare function isWrongFileIdentifierError(err: unknown): boolean;
|
|
1190
1182
|
export declare function isInvalidFileUrlSpecifiedError(err: unknown): boolean;
|
|
1191
1183
|
export declare function isMessageDeleteError(err: unknown): boolean;
|
|
1192
1184
|
export declare function isBotNotMemberGroupChatError(err: unknown): boolean;
|
|
1193
1185
|
export declare function isBusinessPeerUsageMissingError(err: unknown): boolean;
|
|
1186
|
+
export declare function isInvalidPhotoDimensionsError(err: unknown): boolean;
|
|
1194
1187
|
export declare function parseRetryAfterTime(err: unknown): number;
|
|
1195
1188
|
export declare function resolveNameFromMessageOrigin(messageOrigin: MessageOrigin): string;
|
|
1196
1189
|
export declare function resolveChatName(chat: any): string;
|
package/index.js
CHANGED
|
@@ -66,80 +66,56 @@ export function deleteMessage(token, payload, signal) {
|
|
|
66
66
|
export function sendPhoto(token, payload, signal) {
|
|
67
67
|
return fetch(`https://api.telegram.org/bot${token}/sendPhoto`, {
|
|
68
68
|
method: "POST",
|
|
69
|
-
body:
|
|
70
|
-
headers,
|
|
69
|
+
body: prepareFormBody(payload),
|
|
70
|
+
headers: prepareFormHeaders(payload),
|
|
71
71
|
signal
|
|
72
72
|
}).then(parseResponse);
|
|
73
73
|
}
|
|
74
74
|
export function sendAudio(token, payload, signal) {
|
|
75
75
|
return fetch(`https://api.telegram.org/bot${token}/sendAudio`, {
|
|
76
76
|
method: "POST",
|
|
77
|
-
body:
|
|
78
|
-
headers,
|
|
77
|
+
body: prepareFormBody(payload),
|
|
78
|
+
headers: prepareFormHeaders(payload),
|
|
79
79
|
signal
|
|
80
80
|
}).then(parseResponse);
|
|
81
81
|
}
|
|
82
82
|
export function sendAnimation(token, payload, signal) {
|
|
83
83
|
return fetch(`https://api.telegram.org/bot${token}/sendAnimation`, {
|
|
84
84
|
method: "POST",
|
|
85
|
-
body:
|
|
86
|
-
headers,
|
|
85
|
+
body: prepareFormBody(payload),
|
|
86
|
+
headers: prepareFormHeaders(payload),
|
|
87
87
|
signal
|
|
88
88
|
}).then(parseResponse);
|
|
89
89
|
}
|
|
90
|
-
/**
|
|
91
|
-
* @example
|
|
92
|
-
*
|
|
93
|
-
* const body = new FormData()
|
|
94
|
-
*
|
|
95
|
-
* body.append("chat_id", payload.chat_id)
|
|
96
|
-
* body.append("caption", payload.caption)
|
|
97
|
-
* body.append("document", payload.document, payload.documentName)
|
|
98
|
-
*
|
|
99
|
-
* if (payload.parse_mode) {
|
|
100
|
-
* body.append("parse_mode", payload.parse_mode)
|
|
101
|
-
* }
|
|
102
|
-
*
|
|
103
|
-
* sendDocument("token", payload)
|
|
104
|
-
*/
|
|
105
90
|
export function sendDocument(token, payload, signal) {
|
|
106
|
-
let h = headers;
|
|
107
|
-
let b = undefined;
|
|
108
|
-
if (payload instanceof FormData) {
|
|
109
|
-
h = undefined;
|
|
110
|
-
b = payload;
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
b = JSON.stringify(payload);
|
|
114
|
-
}
|
|
115
91
|
return fetch(`https://api.telegram.org/bot${token}/sendDocument`, {
|
|
116
92
|
method: "POST",
|
|
117
|
-
body:
|
|
118
|
-
headers:
|
|
93
|
+
body: prepareFormBody(payload),
|
|
94
|
+
headers: prepareFormHeaders(payload),
|
|
119
95
|
signal
|
|
120
96
|
}).then(parseResponse);
|
|
121
97
|
}
|
|
122
98
|
export function sendVideo(token, payload, signal) {
|
|
123
99
|
return fetch(`https://api.telegram.org/bot${token}/sendVideo`, {
|
|
124
100
|
method: "POST",
|
|
125
|
-
body:
|
|
126
|
-
headers,
|
|
101
|
+
body: prepareFormBody(payload),
|
|
102
|
+
headers: prepareFormHeaders(payload),
|
|
127
103
|
signal
|
|
128
104
|
}).then(parseResponse);
|
|
129
105
|
}
|
|
130
106
|
export function sendVoice(token, payload, signal) {
|
|
131
107
|
return fetch(`https://api.telegram.org/bot${token}/sendVoice`, {
|
|
132
108
|
method: "POST",
|
|
133
|
-
body:
|
|
134
|
-
headers,
|
|
109
|
+
body: prepareFormBody(payload),
|
|
110
|
+
headers: prepareFormHeaders(payload),
|
|
135
111
|
signal
|
|
136
112
|
}).then(parseResponse);
|
|
137
113
|
}
|
|
138
114
|
export function sendMediaGroup(token, payload, signal) {
|
|
139
115
|
return fetch(`https://api.telegram.org/bot${token}/sendMediaGroup`, {
|
|
140
116
|
method: "POST",
|
|
141
|
-
body:
|
|
142
|
-
headers,
|
|
117
|
+
body: prepareFormBody(payload),
|
|
118
|
+
headers: prepareFormHeaders(payload),
|
|
143
119
|
signal
|
|
144
120
|
}).then(parseResponse);
|
|
145
121
|
}
|
|
@@ -497,6 +473,21 @@ function parseReactionCount(reaction) {
|
|
|
497
473
|
total_count: Number(reaction.total_count),
|
|
498
474
|
};
|
|
499
475
|
}
|
|
476
|
+
export function prepareFormBody(payload) {
|
|
477
|
+
if (payload instanceof FormData) {
|
|
478
|
+
return payload;
|
|
479
|
+
}
|
|
480
|
+
return JSON.stringify(payload);
|
|
481
|
+
}
|
|
482
|
+
export function prepareFormHeaders(forPayload) {
|
|
483
|
+
if (forPayload instanceof FormData) {
|
|
484
|
+
return undefined;
|
|
485
|
+
}
|
|
486
|
+
return {
|
|
487
|
+
"Accept": "application/json",
|
|
488
|
+
"Content-Type": "application/json",
|
|
489
|
+
};
|
|
490
|
+
}
|
|
500
491
|
export function parseResponse(response) {
|
|
501
492
|
return response.text().then(function (text) {
|
|
502
493
|
let data;
|
|
@@ -616,6 +607,11 @@ export function isMessageNotModifiedError(err) {
|
|
|
616
607
|
export function isWrongTypeOfTheWebPageContentError(err) {
|
|
617
608
|
return err instanceof Error && err.message.includes("wrong type of the web page content");
|
|
618
609
|
}
|
|
610
|
+
// Bad Request: failed to send message #1 with the error message "WEBPAGE_MEDIA_EMPTY"
|
|
611
|
+
export function isWebpageMediaEmptyError(err) {
|
|
612
|
+
return err instanceof Error
|
|
613
|
+
&& /^Bad Request: failed to send message #\d+ with the error message "WEBPAGE_MEDIA_EMPTY"$/.test(err.message);
|
|
614
|
+
}
|
|
619
615
|
// Bad Request: failed to get HTTP URL content
|
|
620
616
|
export function isFailToGetHTTPURLContentError(err) {
|
|
621
617
|
return err instanceof Error && err.message.includes("failed to get HTTP URL content");
|
|
@@ -638,6 +634,9 @@ export function isBotNotMemberGroupChatError(err) {
|
|
|
638
634
|
export function isBusinessPeerUsageMissingError(err) {
|
|
639
635
|
return err instanceof Error && err.message === "Bad Request: BUSINESS_PEER_USAGE_MISSING";
|
|
640
636
|
}
|
|
637
|
+
export function isInvalidPhotoDimensionsError(err) {
|
|
638
|
+
return err instanceof Error && err.message.includes("PHOTO_INVALID_DIMENSIONS");
|
|
639
|
+
}
|
|
641
640
|
export function parseRetryAfterTime(err) {
|
|
642
641
|
if (!(err instanceof Error)) {
|
|
643
642
|
throw new RangeError("`err` needs to be an Error");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "telegram-bot-api-nodejs",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.9",
|
|
4
4
|
"description": "Telegram Bot API client for nodejs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
"author": "",
|
|
26
26
|
"license": "ISC",
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@types/node": "^25.
|
|
28
|
+
"@types/node": "^25.2.2"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@typescript/native-preview": "^7.0.0-dev.
|
|
31
|
+
"@typescript/native-preview": "^7.0.0-dev.20260208.1"
|
|
32
32
|
}
|
|
33
33
|
}
|