@skroz/telegram-bot 1.0.3 → 1.0.4
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/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +50 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TG_CallbackQuery, TG_Message, TG_Update } from '@skroz/telegram-api/dist/TelegramTypes';
|
|
1
|
+
import { TG_CallbackQuery, TG_Message, TG_SendMessageResponse, TG_SendPhotoInput, TG_Update } from '@skroz/telegram-api/dist/TelegramTypes';
|
|
2
2
|
export declare const createCallbackData: (telegramId: number | string, data: string[]) => string;
|
|
3
3
|
export declare const getCallbackData: (data: string) => string[];
|
|
4
4
|
declare class TelegramBot {
|
|
@@ -6,6 +6,7 @@ declare class TelegramBot {
|
|
|
6
6
|
constructor(botToken: string);
|
|
7
7
|
setWebhook(webhookUrl: string): Promise<import("@skroz/telegram-api/dist/ResultAndDescription").default>;
|
|
8
8
|
handleUpdate(update: TG_Update, handleCallback: (callbackQuery: TG_CallbackQuery, callbackDataParams: string[]) => Promise<void>, handleMessage: (message: TG_Message) => void): Promise<void>;
|
|
9
|
+
sendPhoto(input: TG_SendPhotoInput, message?: TG_Message): Promise<TG_SendMessageResponse>;
|
|
9
10
|
deleteWebhook(): Promise<void>;
|
|
10
11
|
}
|
|
11
12
|
export default TelegramBot;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,SAAS,EACV,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,sBAAsB,EACtB,iBAAiB,EACjB,SAAS,EACV,MAAM,wCAAwC,CAAC;AAUhD,eAAO,MAAM,kBAAkB,eACjB,MAAM,GAAG,MAAM,QACrB,MAAM,EAAE,KACb,MAC0E,CAAC;AAG9E,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,MAAM,EACxB,CAAC;AAE9B,cAAM,WAAW;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAEvC,UAAU,CAAC,UAAU,EAAE,MAAM;IAI7B,YAAY,CAChB,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,CACd,aAAa,EAAE,gBAAgB,EAC/B,kBAAkB,EAAE,MAAM,EAAE,KACzB,OAAO,CAAC,IAAI,CAAC,EAClB,aAAa,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,GAC3C,OAAO,CAAC,IAAI,CAAC;IAmCV,SAAS,CACb,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,UAAU,GACnB,OAAO,CAAC,sBAAsB,CAAC;IA2C5B,aAAa;CAGpB;AAED,eAAe,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getCallbackData = exports.createCallbackData = void 0;
|
|
7
7
|
const telegram_api_1 = __importDefault(require("@skroz/telegram-api"));
|
|
8
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
8
9
|
/* хранит уникальные колбэки, чтобы исключить повторное нажатие */
|
|
9
10
|
const processedCallbacks = new Set();
|
|
10
11
|
/* разделитель для параметров колбэка */
|
|
@@ -51,6 +52,39 @@ class TelegramBot {
|
|
|
51
52
|
await handleMessage(message);
|
|
52
53
|
}
|
|
53
54
|
}
|
|
55
|
+
async sendPhoto(input, message) {
|
|
56
|
+
const { chat_id, reply_markup, caption, photo } = input;
|
|
57
|
+
let sendResult;
|
|
58
|
+
const sendPhotoFunction = () => telegram_api_1.default.sendPhoto({
|
|
59
|
+
chat_id,
|
|
60
|
+
caption,
|
|
61
|
+
photo,
|
|
62
|
+
parse_mode: 'HTML',
|
|
63
|
+
reply_markup,
|
|
64
|
+
}, this.botToken);
|
|
65
|
+
if (message) {
|
|
66
|
+
try {
|
|
67
|
+
sendResult = await telegram_api_1.default.editMessageMedia({
|
|
68
|
+
media: {
|
|
69
|
+
type: 'photo',
|
|
70
|
+
media: photo,
|
|
71
|
+
caption,
|
|
72
|
+
parse_mode: 'HTML',
|
|
73
|
+
},
|
|
74
|
+
message_id: message.message_id,
|
|
75
|
+
reply_markup,
|
|
76
|
+
chat_id,
|
|
77
|
+
}, this.botToken);
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
sendResult = await sendPhotoFunction();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
sendResult = await sendPhotoFunction();
|
|
85
|
+
}
|
|
86
|
+
return sendResult;
|
|
87
|
+
}
|
|
54
88
|
async deleteWebhook() {
|
|
55
89
|
return telegram_api_1.default.deleteWebhook(this.botToken);
|
|
56
90
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA8C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skroz/telegram-bot",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": "git@gitlab.com:skroz/libs/utils.git",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -21,5 +21,5 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@skroz/telegram-api": "^1.0.10"
|
|
23
23
|
},
|
|
24
|
-
"gitHead": "
|
|
24
|
+
"gitHead": "e88af73cb8dbea50c6ab195afd7b77b74ef585da"
|
|
25
25
|
}
|
package/src/index.ts
CHANGED
|
@@ -2,9 +2,13 @@ import TelegramApi from '@skroz/telegram-api';
|
|
|
2
2
|
import {
|
|
3
3
|
TG_CallbackQuery,
|
|
4
4
|
TG_Message,
|
|
5
|
+
TG_SendMessageResponse,
|
|
6
|
+
TG_SendPhotoInput,
|
|
5
7
|
TG_Update,
|
|
6
8
|
} from '@skroz/telegram-api/dist/TelegramTypes';
|
|
7
9
|
|
|
10
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
11
|
+
|
|
8
12
|
/* хранит уникальные колбэки, чтобы исключить повторное нажатие */
|
|
9
13
|
const processedCallbacks = new Set();
|
|
10
14
|
/* разделитель для параметров колбэка */
|
|
@@ -70,6 +74,52 @@ class TelegramBot {
|
|
|
70
74
|
}
|
|
71
75
|
}
|
|
72
76
|
|
|
77
|
+
async sendPhoto(
|
|
78
|
+
input: TG_SendPhotoInput,
|
|
79
|
+
message?: TG_Message
|
|
80
|
+
): Promise<TG_SendMessageResponse> {
|
|
81
|
+
const { chat_id, reply_markup, caption, photo } = input;
|
|
82
|
+
|
|
83
|
+
let sendResult: TG_SendMessageResponse;
|
|
84
|
+
|
|
85
|
+
const sendPhotoFunction = () =>
|
|
86
|
+
TelegramApi.sendPhoto(
|
|
87
|
+
{
|
|
88
|
+
chat_id,
|
|
89
|
+
caption,
|
|
90
|
+
photo,
|
|
91
|
+
parse_mode: 'HTML',
|
|
92
|
+
reply_markup,
|
|
93
|
+
},
|
|
94
|
+
this.botToken
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
if (message) {
|
|
98
|
+
try {
|
|
99
|
+
sendResult = await TelegramApi.editMessageMedia(
|
|
100
|
+
{
|
|
101
|
+
media: {
|
|
102
|
+
type: 'photo',
|
|
103
|
+
media: photo as string,
|
|
104
|
+
caption,
|
|
105
|
+
parse_mode: 'HTML',
|
|
106
|
+
},
|
|
107
|
+
message_id: message.message_id,
|
|
108
|
+
reply_markup,
|
|
109
|
+
chat_id,
|
|
110
|
+
},
|
|
111
|
+
this.botToken
|
|
112
|
+
);
|
|
113
|
+
} catch (e) {
|
|
114
|
+
sendResult = await sendPhotoFunction();
|
|
115
|
+
}
|
|
116
|
+
} else {
|
|
117
|
+
sendResult = await sendPhotoFunction();
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return sendResult;
|
|
121
|
+
}
|
|
122
|
+
|
|
73
123
|
async deleteWebhook() {
|
|
74
124
|
return TelegramApi.deleteWebhook(this.botToken);
|
|
75
125
|
}
|