puvox-library 1.0.87 → 1.1.0
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/library_standard.d.ts +18 -3
- package/library_standard.d.ts.map +1 -1
- package/library_standard.js +40 -27
- package/package.json +1 -1
package/library_standard.d.ts
CHANGED
@@ -1,4 +1,20 @@
|
|
1
1
|
export = PuvoxLibrary;
|
2
|
+
/**
|
3
|
+
*
|
4
|
+
* ############################################################################
|
5
|
+
* ############################# Our JS Library ############################
|
6
|
+
* ### Here we collect frequently used methods across our JS applications. ###
|
7
|
+
* ### (Some of them are generic javascript functions, some are for NodeJS) ###
|
8
|
+
* ############################################################################
|
9
|
+
*
|
10
|
+
* ########## Example usage: ##########
|
11
|
+
* const helpers = new PuvoxLibrary();
|
12
|
+
* console.log ( helpers.get_last_child_of_array(array) );
|
13
|
+
* console.log ( helpers.get_visitor_ip() );
|
14
|
+
* console.log ( helpers.telegramMessage("hello world", "1234567890", "BOTKEY123:456789") );
|
15
|
+
* ... etc
|
16
|
+
*
|
17
|
+
*/
|
2
18
|
declare class PuvoxLibrary {
|
3
19
|
constructor(appName: any);
|
4
20
|
selfMain: PuvoxLibrary;
|
@@ -340,9 +356,8 @@ declare class PuvoxLibrary {
|
|
340
356
|
enable_jquery_errors(): void;
|
341
357
|
encode_chars(str: any, chars?: any[]): any;
|
342
358
|
telegramMessage(textOriginal: any, chat_id: any, bot_key: any, extra_opts?: {}): Promise<any>;
|
343
|
-
telegram_interval_ms: number;
|
344
|
-
|
345
|
-
telegramMessageCached(text: any, chat_id: any, bot_key: any, extra_opts?: {}, customCacheId?: null): Promise<any>;
|
359
|
+
telegram_interval_ms: number | undefined;
|
360
|
+
telegram_last_sent_timestamp: number | undefined;
|
346
361
|
openUrlInBrowser(url: any): void;
|
347
362
|
stringify(obj_or_str: any): any;
|
348
363
|
stringify_plain(data: any): string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"library_standard.d.ts","sourceRoot":"","sources":["library_standard.js"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"library_standard.d.ts","sourceRoot":"","sources":["library_standard.js"],"names":[],"mappings":"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"}
|
package/library_standard.js
CHANGED
@@ -15,8 +15,6 @@
|
|
15
15
|
*
|
16
16
|
*/
|
17
17
|
|
18
|
-
const { response } = require("express");
|
19
|
-
|
20
18
|
class PuvoxLibrary {
|
21
19
|
selfMain = this;
|
22
20
|
|
@@ -2699,8 +2697,9 @@ class PuvoxLibrary {
|
|
2699
2697
|
return str;
|
2700
2698
|
}
|
2701
2699
|
|
2700
|
+
|
2702
2701
|
// region ### TELEGRAM FUNCTIONS ###
|
2703
|
-
async telegramMessage(textOriginal, chat_id, bot_key, extra_opts={}){
|
2702
|
+
async telegramMessage(textOriginal, chat_id, bot_key, extra_opts={}){
|
2704
2703
|
if (!extra_opts) extra_opts = {};
|
2705
2704
|
if (! ('parse_mode' in extra_opts)){
|
2706
2705
|
extra_opts['parse_mode'] = 'html';
|
@@ -2718,8 +2717,45 @@ class PuvoxLibrary {
|
|
2718
2717
|
//
|
2719
2718
|
const is_repeated_call = ('is_repeated_call' in extra_opts);
|
2720
2719
|
delete extra_opts['is_repeated_call'];
|
2720
|
+
// ###############################################
|
2721
|
+
// ############## support caching ###############
|
2722
|
+
// ########## (ppl can remove this part) #########
|
2723
|
+
// ###############################################
|
2724
|
+
//
|
2725
|
+
// you can set custom random cache_id, so if that cache_id is found in store datas, it avoids sending the same message to telegram
|
2726
|
+
//
|
2727
|
+
if ('cache_id' in extra_opts){
|
2728
|
+
if (!this.telegram_interval_ms) {
|
2729
|
+
this.telegram_interval_ms= 50; // telegram seems to accept around 30 times per second, so we'd better wait around that milliseconds
|
2730
|
+
}
|
2731
|
+
if (!this.telegram_last_sent_timestamp) {
|
2732
|
+
this.telegram_last_sent_timestamp= 0;
|
2733
|
+
}
|
2734
|
+
const curMS = this.milliseconds();
|
2735
|
+
const goneMS = curMS - this.telegram_last_sent_timestamp;
|
2736
|
+
if ( goneMS < this.telegram_interval_ms ){
|
2737
|
+
await this.sleep (this.telegram_interval_ms - goneMS);
|
2738
|
+
}
|
2739
|
+
this.telegram_last_sent_timestamp = curMS;
|
2740
|
+
const opt_cache_id = extra_opts['cache_id'];
|
2741
|
+
delete extra_opts['cache_id'];
|
2742
|
+
const cacheId = opt_cache_id ? opt_cache_id : this.cache.file.idForContent( text +'_'+ chat_id +'_'+ bot_key +'_'+ JSON.stringify(extra_opts) );
|
2743
|
+
if (!this.cache.file.addIdIfNotExists('function_telegram_message', cacheId) ){
|
2744
|
+
return {'ok': true, 'cached':true};
|
2745
|
+
}
|
2746
|
+
}
|
2747
|
+
// ###############################################
|
2748
|
+
// ################ [ END CACHING ]###############
|
2749
|
+
// ###############################################
|
2721
2750
|
const requestOpts = Object.assign({'chat_id':chat_id, 'text':text}, extra_opts);
|
2722
|
-
let responseText =
|
2751
|
+
let responseText = undefined;
|
2752
|
+
const isPhotoMessage = ('photo' in extra_opts);
|
2753
|
+
if (!isPhotoMessage) {
|
2754
|
+
responseText = await this.getRemoteData('https://api.telegram.org/bot'+ bot_key +'/sendMessage', requestOpts); // pastebin_com/u0J1Cph3 //'sendMessage?'.http_build_query(opts, '');
|
2755
|
+
} else {
|
2756
|
+
requestOpts['caption'] = requestOpts['text'].substring(0, 1023);
|
2757
|
+
responseText = await this.getRemoteData('https://api.telegram.org/bot'+ bot_key +'/sendPhoto', requestOpts); // pastebin_com/u0J1Cph3 //'sendMessage?'.http_build_query(opts, '');
|
2758
|
+
}
|
2723
2759
|
try {
|
2724
2760
|
const responseJson = JSON.parse(responseText);
|
2725
2761
|
if (responseJson.ok){
|
@@ -2745,29 +2781,6 @@ class PuvoxLibrary {
|
|
2745
2781
|
}
|
2746
2782
|
}
|
2747
2783
|
|
2748
|
-
telegram_interval_ms= 50; // telegram seems to accept around 30 times per second, so we'd better wait around that milliseconds
|
2749
|
-
telegram_last_sent_time= 0;
|
2750
|
-
|
2751
|
-
async telegramMessageCached(text, chat_id, bot_key, extra_opts={}, customCacheId=null){
|
2752
|
-
if (!extra_opts) extra_opts = {};
|
2753
|
-
const curMS = this.milliseconds();
|
2754
|
-
const goneMS = curMS - this.telegram_last_sent_time;
|
2755
|
-
if ( goneMS < this.telegram_interval_ms ){
|
2756
|
-
await this.sleep (this.telegram_interval_ms - goneMS);
|
2757
|
-
}
|
2758
|
-
this.telegram_last_sent_time = curMS;
|
2759
|
-
const cacheId = customCacheId ? customCacheId : this.cache.file.idForContent( text +'_'+ chat_id +'_'+ bot_key +'_'+ JSON.stringify(extra_opts) );
|
2760
|
-
if (this.cache.file.addIdIfNotExists('function_telegram_message', cacheId) ){
|
2761
|
-
return this.telegramMessage(text, chat_id, bot_key, extra_opts);
|
2762
|
-
}
|
2763
|
-
else {
|
2764
|
-
return false;
|
2765
|
-
}
|
2766
|
-
//if(is_callable([$this,'notifications_db_entry']))
|
2767
|
-
// $this->notifications_db_entry($key, $array['chat_id'], $this->stringify($res), time(), $ok );
|
2768
|
-
//return $res;
|
2769
|
-
}
|
2770
|
-
|
2771
2784
|
openUrlInBrowser(url)
|
2772
2785
|
{
|
2773
2786
|
var cmd = (process.platform == 'darwin'? `open ${url}`: process.platform == 'win32'? `start ${url}`: `xdg-open ${url}`);
|