@builderbot/provider-telegram 1.2.3-alpha.2 → 1.2.3-alpha.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/LICENSE.md +21 -0
- package/dist/index.cjs +87 -89
- package/package.json +3 -3
package/LICENSE.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2022 Leifer Mendez
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/dist/index.cjs
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var bot$1 = require('@builderbot/bot');
|
|
4
|
+
var fs$1 = require('fs');
|
|
5
|
+
var require$$0$7 = require('path');
|
|
4
6
|
var require$$1$3 = require('util');
|
|
5
7
|
var require$$0$5 = require('crypto');
|
|
6
8
|
var require$$2 = require('events');
|
|
7
9
|
var require$$0$6 = require('tty');
|
|
8
|
-
var fs$1 = require('fs');
|
|
9
10
|
var require$$4 = require('net');
|
|
10
11
|
var require$$2$2 = require('url');
|
|
11
|
-
var require$$0$7 = require('path');
|
|
12
12
|
var require$$2$1 = require('os');
|
|
13
13
|
var require$$0$8 = require('buffer');
|
|
14
14
|
var require$$3 = require('http');
|
|
@@ -17,29 +17,6 @@ var require$$2$3 = require('stream');
|
|
|
17
17
|
var require$$0$9 = require('constants');
|
|
18
18
|
var require$$5 = require('assert');
|
|
19
19
|
|
|
20
|
-
class TelegramEvents extends bot$1.EventEmitterClass {
|
|
21
|
-
eventInMsg = async (payload) => {
|
|
22
|
-
const sender = (await payload.message.getSender());
|
|
23
|
-
const firstName = sender.firstName ? sender.firstName : "noname";
|
|
24
|
-
const username = sender.username ? sender.username : "unknown";
|
|
25
|
-
const hasFile = payload.message.file ? true : false;
|
|
26
|
-
const isVoice = payload.message.voice ? true : false;
|
|
27
|
-
const mimeType = hasFile ? payload.message.file.mimeType : null;
|
|
28
|
-
const sendObj = {
|
|
29
|
-
...payload,
|
|
30
|
-
body: payload.message.message,
|
|
31
|
-
caption: payload.message.message,
|
|
32
|
-
from: payload.chatId.toString(),
|
|
33
|
-
name: `${firstName}`,
|
|
34
|
-
username,
|
|
35
|
-
hasFile,
|
|
36
|
-
isVoice,
|
|
37
|
-
mimeType,
|
|
38
|
-
};
|
|
39
|
-
this.emit("message", sendObj);
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
20
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
44
21
|
|
|
45
22
|
function getAugmentedNamespace(n) {
|
|
@@ -17878,9 +17855,9 @@ function customErrorFactory(fn, parent) {
|
|
|
17878
17855
|
}
|
|
17879
17856
|
|
|
17880
17857
|
var customError = /*#__PURE__*/Object.freeze({
|
|
17881
|
-
|
|
17882
|
-
|
|
17883
|
-
|
|
17858
|
+
__proto__: null,
|
|
17859
|
+
CustomError: CustomError,
|
|
17860
|
+
customErrorFactory: customErrorFactory
|
|
17884
17861
|
});
|
|
17885
17862
|
|
|
17886
17863
|
var require$$0$2 = /*@__PURE__*/getAugmentedNamespace(customError);
|
|
@@ -30546,39 +30523,39 @@ var _tslib = {
|
|
|
30546
30523
|
};
|
|
30547
30524
|
|
|
30548
30525
|
var _tslib$1 = /*#__PURE__*/Object.freeze({
|
|
30549
|
-
|
|
30550
|
-
|
|
30551
|
-
|
|
30552
|
-
|
|
30553
|
-
|
|
30554
|
-
|
|
30555
|
-
|
|
30556
|
-
|
|
30557
|
-
|
|
30558
|
-
|
|
30559
|
-
|
|
30560
|
-
|
|
30561
|
-
|
|
30562
|
-
|
|
30563
|
-
|
|
30564
|
-
|
|
30565
|
-
|
|
30566
|
-
|
|
30567
|
-
|
|
30568
|
-
|
|
30569
|
-
|
|
30570
|
-
|
|
30571
|
-
|
|
30572
|
-
|
|
30573
|
-
|
|
30574
|
-
|
|
30575
|
-
|
|
30576
|
-
|
|
30577
|
-
|
|
30578
|
-
|
|
30579
|
-
|
|
30580
|
-
|
|
30581
|
-
|
|
30526
|
+
__proto__: null,
|
|
30527
|
+
__addDisposableResource: __addDisposableResource,
|
|
30528
|
+
get __assign () { return __assign; },
|
|
30529
|
+
__asyncDelegator: __asyncDelegator,
|
|
30530
|
+
__asyncGenerator: __asyncGenerator,
|
|
30531
|
+
__asyncValues: __asyncValues,
|
|
30532
|
+
__await: __await,
|
|
30533
|
+
__awaiter: __awaiter,
|
|
30534
|
+
__classPrivateFieldGet: __classPrivateFieldGet,
|
|
30535
|
+
__classPrivateFieldIn: __classPrivateFieldIn,
|
|
30536
|
+
__classPrivateFieldSet: __classPrivateFieldSet,
|
|
30537
|
+
__createBinding: __createBinding$6,
|
|
30538
|
+
__decorate: __decorate,
|
|
30539
|
+
__disposeResources: __disposeResources,
|
|
30540
|
+
__esDecorate: __esDecorate,
|
|
30541
|
+
__exportStar: __exportStar,
|
|
30542
|
+
__extends: __extends,
|
|
30543
|
+
__generator: __generator,
|
|
30544
|
+
__importDefault: __importDefault$3,
|
|
30545
|
+
__importStar: __importStar$6,
|
|
30546
|
+
__makeTemplateObject: __makeTemplateObject,
|
|
30547
|
+
__metadata: __metadata,
|
|
30548
|
+
__param: __param,
|
|
30549
|
+
__propKey: __propKey,
|
|
30550
|
+
__read: __read,
|
|
30551
|
+
__rest: __rest,
|
|
30552
|
+
__runInitializers: __runInitializers,
|
|
30553
|
+
__setFunctionName: __setFunctionName,
|
|
30554
|
+
__spread: __spread,
|
|
30555
|
+
__spreadArray: __spreadArray,
|
|
30556
|
+
__spreadArrays: __spreadArrays,
|
|
30557
|
+
__values: __values$1,
|
|
30558
|
+
default: _tslib
|
|
30582
30559
|
});
|
|
30583
30560
|
|
|
30584
30561
|
var require$$0 = /*@__PURE__*/getAugmentedNamespace(_tslib$1);
|
|
@@ -37810,10 +37787,10 @@ var AES_IGE$1 = /** @class */ (function () {
|
|
|
37810
37787
|
}());
|
|
37811
37788
|
|
|
37812
37789
|
var aes = /*#__PURE__*/Object.freeze({
|
|
37813
|
-
|
|
37814
|
-
|
|
37815
|
-
|
|
37816
|
-
|
|
37790
|
+
__proto__: null,
|
|
37791
|
+
CTR: AES_IGE$1,
|
|
37792
|
+
IGE: AES_IGE,
|
|
37793
|
+
default: AES
|
|
37817
37794
|
});
|
|
37818
37795
|
|
|
37819
37796
|
var require$$1 = /*@__PURE__*/getAugmentedNamespace(aes);
|
|
@@ -48624,13 +48601,36 @@ function requireTelegram () {
|
|
|
48624
48601
|
|
|
48625
48602
|
var telegramExports = requireTelegram();
|
|
48626
48603
|
|
|
48604
|
+
var eventsExports = requireEvents();
|
|
48605
|
+
|
|
48627
48606
|
var sessionsExports = requireSessions();
|
|
48628
48607
|
|
|
48629
|
-
|
|
48608
|
+
class TelegramEvents extends bot$1.EventEmitterClass {
|
|
48609
|
+
eventInMsg = async (payload) => {
|
|
48610
|
+
const sender = (await payload.message.getSender());
|
|
48611
|
+
const firstName = sender.firstName ? sender.firstName : 'noname';
|
|
48612
|
+
const username = sender.username ? sender.username : 'unknown';
|
|
48613
|
+
const hasFile = payload.message.file ? true : false;
|
|
48614
|
+
const isVoice = payload.message.voice ? true : false;
|
|
48615
|
+
const mimeType = hasFile ? payload.message.file.mimeType : null;
|
|
48616
|
+
const sendObj = {
|
|
48617
|
+
...payload,
|
|
48618
|
+
body: payload.message.message,
|
|
48619
|
+
caption: payload.message.message,
|
|
48620
|
+
from: payload.chatId.toString(),
|
|
48621
|
+
name: `${firstName}`,
|
|
48622
|
+
username,
|
|
48623
|
+
hasFile,
|
|
48624
|
+
isVoice,
|
|
48625
|
+
mimeType,
|
|
48626
|
+
};
|
|
48627
|
+
this.emit('message', sendObj);
|
|
48628
|
+
};
|
|
48629
|
+
}
|
|
48630
48630
|
|
|
48631
48631
|
class TelegramProvider extends bot$1.ProviderClass {
|
|
48632
48632
|
globalVendorArgs = {
|
|
48633
|
-
name:
|
|
48633
|
+
name: 'telegram-bot',
|
|
48634
48634
|
port: 3000,
|
|
48635
48635
|
apiHash: undefined,
|
|
48636
48636
|
apiId: undefined,
|
|
@@ -48639,7 +48639,7 @@ class TelegramProvider extends bot$1.ProviderClass {
|
|
|
48639
48639
|
};
|
|
48640
48640
|
client;
|
|
48641
48641
|
sessionPath = require$$0$7.join(process.cwd(), `${this.globalVendorArgs.name}_sessions`);
|
|
48642
|
-
sessionFileName =
|
|
48642
|
+
sessionFileName = 'session.txt';
|
|
48643
48643
|
sessionFilePath = require$$0$7.join(this.sessionPath, this.sessionFileName);
|
|
48644
48644
|
constructor(args) {
|
|
48645
48645
|
super();
|
|
@@ -48648,10 +48648,10 @@ class TelegramProvider extends bot$1.ProviderClass {
|
|
|
48648
48648
|
fs$1.mkdirSync(this.sessionPath, { recursive: true });
|
|
48649
48649
|
}
|
|
48650
48650
|
if (!this.globalVendorArgs.apiId) {
|
|
48651
|
-
throw new Error(
|
|
48651
|
+
throw new Error('Must provide Telegram API ID. Visit: https://my.telegram.org/auth?to=apps');
|
|
48652
48652
|
}
|
|
48653
48653
|
if (!this.globalVendorArgs.apiHash) {
|
|
48654
|
-
throw new Error(
|
|
48654
|
+
throw new Error('Must provide Telegram API Hash. Visit: https://my.telegram.org/auth?to=apps');
|
|
48655
48655
|
}
|
|
48656
48656
|
const stringSession = this._getStringSession();
|
|
48657
48657
|
this.client = new telegramExports.TelegramClient(stringSession, +args.apiId, args.apiHash, {
|
|
@@ -48661,12 +48661,12 @@ class TelegramProvider extends bot$1.ProviderClass {
|
|
|
48661
48661
|
_getStringSession() {
|
|
48662
48662
|
let stringSessionRaw = this.globalVendorArgs.telegramJwt;
|
|
48663
48663
|
if (!stringSessionRaw && fs$1.existsSync(this.sessionFilePath)) {
|
|
48664
|
-
stringSessionRaw = fs$1.readFileSync(this.sessionFilePath,
|
|
48664
|
+
stringSessionRaw = fs$1.readFileSync(this.sessionFilePath, 'utf-8');
|
|
48665
48665
|
}
|
|
48666
48666
|
return new sessionsExports.StringSession(stringSessionRaw);
|
|
48667
48667
|
}
|
|
48668
48668
|
async sendMessage(userId, message, args) {
|
|
48669
|
-
console.info(
|
|
48669
|
+
console.info('[INFO]: Sending message to', userId);
|
|
48670
48670
|
if (args?.buttons?.length)
|
|
48671
48671
|
return await this.sendButtons(userId, message, args?.buttons);
|
|
48672
48672
|
if (args?.mediaURL)
|
|
@@ -48685,9 +48685,7 @@ class TelegramProvider extends bot$1.ProviderClass {
|
|
|
48685
48685
|
});
|
|
48686
48686
|
if (messages[0].senderId.toString() == mySenderId)
|
|
48687
48687
|
continue;
|
|
48688
|
-
const filteredMessages = messages
|
|
48689
|
-
.filter((msg) => msg.senderId.toString() !== mySenderId)
|
|
48690
|
-
.reverse();
|
|
48688
|
+
const filteredMessages = messages.filter((msg) => msg.senderId.toString() !== mySenderId).reverse();
|
|
48691
48689
|
if (!filteredMessages.length)
|
|
48692
48690
|
continue;
|
|
48693
48691
|
tgMessages.push(filteredMessages);
|
|
@@ -48716,17 +48714,17 @@ class TelegramProvider extends bot$1.ProviderClass {
|
|
|
48716
48714
|
return;
|
|
48717
48715
|
}
|
|
48718
48716
|
async sendMedia(chatId, mediaURL, caption) {
|
|
48719
|
-
const res = await fetch(mediaURL, { method:
|
|
48717
|
+
const res = await fetch(mediaURL, { method: 'GET' });
|
|
48720
48718
|
const buffer = await res.arrayBuffer();
|
|
48721
|
-
const mimeType = res.headers.get(
|
|
48722
|
-
const tmpDir = require$$0$7.join(process.cwd(),
|
|
48723
|
-
const fileExtension = mimeType.split(
|
|
48719
|
+
const mimeType = res.headers.get('content-type');
|
|
48720
|
+
const tmpDir = require$$0$7.join(process.cwd(), 'tmp', 'media');
|
|
48721
|
+
const fileExtension = mimeType.split('/')[1];
|
|
48724
48722
|
const fileName = `${Date.now().toString()}-${chatId}.${fileExtension}`;
|
|
48725
48723
|
let filePath = require$$0$7.join(tmpDir, fileName);
|
|
48726
48724
|
fs$1.writeFileSync(filePath, Buffer.from(buffer));
|
|
48727
|
-
const voiceNote = [
|
|
48725
|
+
const voiceNote = ['mp3', 'wav', 'ogg', 'oga'].includes(fileExtension);
|
|
48728
48726
|
let videoNote = false;
|
|
48729
|
-
if (caption ==
|
|
48727
|
+
if (caption == 'video_note' && fileExtension == 'mp4') {
|
|
48730
48728
|
videoNote = true;
|
|
48731
48729
|
const oldFilePath = filePath;
|
|
48732
48730
|
filePath = require$$0$7.join(tmpDir, `new_${fileName}`);
|
|
@@ -48745,16 +48743,16 @@ class TelegramProvider extends bot$1.ProviderClass {
|
|
|
48745
48743
|
afterHttpServerInit() { }
|
|
48746
48744
|
busEvents = () => [
|
|
48747
48745
|
{
|
|
48748
|
-
event:
|
|
48746
|
+
event: 'message',
|
|
48749
48747
|
func: (payload) => {
|
|
48750
48748
|
if (payload.message.voice) {
|
|
48751
|
-
payload.body = bot$1.utils.generateRefProvider(
|
|
48749
|
+
payload.body = bot$1.utils.generateRefProvider('_event_voice_note_');
|
|
48752
48750
|
}
|
|
48753
48751
|
else if (payload.message.media) {
|
|
48754
|
-
payload.body = bot$1.utils.generateRefProvider(
|
|
48752
|
+
payload.body = bot$1.utils.generateRefProvider('_event_media_');
|
|
48755
48753
|
payload.caption = payload.message.message;
|
|
48756
48754
|
}
|
|
48757
|
-
this.emit(
|
|
48755
|
+
this.emit('message', payload);
|
|
48758
48756
|
},
|
|
48759
48757
|
},
|
|
48760
48758
|
];
|
|
@@ -48778,7 +48776,7 @@ class TelegramProvider extends bot$1.ProviderClass {
|
|
|
48778
48776
|
const stringSessionRaw = String(this.client.session.save());
|
|
48779
48777
|
fs$1.writeFileSync(this.sessionFilePath, stringSessionRaw);
|
|
48780
48778
|
}
|
|
48781
|
-
this.emit(
|
|
48779
|
+
this.emit('ready');
|
|
48782
48780
|
this.client.addEventHandler(this.ctrlInMsg, new eventsExports.NewMessage({ incoming: true }));
|
|
48783
48781
|
return vendor;
|
|
48784
48782
|
}
|
|
@@ -48789,9 +48787,9 @@ class TelegramProvider extends bot$1.ProviderClass {
|
|
|
48789
48787
|
try {
|
|
48790
48788
|
const message = ctx.message;
|
|
48791
48789
|
if (!message.file)
|
|
48792
|
-
return
|
|
48790
|
+
return '';
|
|
48793
48791
|
const mimeType = message.file.mimeType;
|
|
48794
|
-
const fileExtension = mimeType.substring(mimeType.indexOf(
|
|
48792
|
+
const fileExtension = mimeType.substring(mimeType.indexOf('/') + 1);
|
|
48795
48793
|
const fileName = `${Date.now().toString()}-${ctx.from}.${fileExtension}`;
|
|
48796
48794
|
const filePath = require$$0$7.join(options.path, fileName);
|
|
48797
48795
|
const buffer = await this.client.downloadMedia(message);
|
|
@@ -48799,7 +48797,7 @@ class TelegramProvider extends bot$1.ProviderClass {
|
|
|
48799
48797
|
return filePath;
|
|
48800
48798
|
}
|
|
48801
48799
|
catch (error) {
|
|
48802
|
-
console.error(
|
|
48800
|
+
console.error('[saveFile()]', error);
|
|
48803
48801
|
}
|
|
48804
48802
|
}
|
|
48805
48803
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@builderbot/provider-telegram",
|
|
3
|
-
"version": "1.2.3-alpha.
|
|
3
|
+
"version": "1.2.3-alpha.4",
|
|
4
4
|
"description": "Provider for Telegram",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
},
|
|
31
31
|
"homepage": "https://github.com/codigoencasa/bot-whatsapp#readme",
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@builderbot/bot": "^1.2.3-alpha.
|
|
33
|
+
"@builderbot/bot": "^1.2.3-alpha.4",
|
|
34
34
|
"@hapi/boom": "^10.0.1",
|
|
35
35
|
"@jest/globals": "^29.7.0",
|
|
36
36
|
"@rollup/plugin-commonjs": "^25.0.8",
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"telegram": "^2.23.10"
|
|
49
49
|
},
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "7255974a965ae04d325a5d239fc1995b3c6ac621"
|
|
51
51
|
}
|