webfast 0.1.18 → 0.1.21
Sign up to get free protection for your applications and to get access to all the features.
- package/index.js +226 -224
- package/modules/bots/applications/telegram/que.js +106 -8
- package/modules/bots/applications/telegram/scripts/function.js +14 -3
- package/modules/bots/applications/telegram/scripts/test/script.json +38 -18
- package/modules/bots/applications/telegram/send.js +9 -0
- package/package.json +1 -1
- /package/{app/content → content}/images/banner.png +0 -0
- /package/{app/content → content}/images/block.png +0 -0
- /package/{app/content → content}/js/jquery-3.7.1.min.js +0 -0
- /package/{app/content → content}/js/webfast.js +0 -0
package/index.js
CHANGED
@@ -1,244 +1,246 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
}
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
if (
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
1
|
+
module.exports = function () {
|
2
|
+
const { readdirSync } = require("fs");
|
3
|
+
|
4
|
+
console.log(`WebFast!! Program`);
|
5
|
+
let program = {
|
6
|
+
ts : Date.now(),
|
7
|
+
modules : {},
|
8
|
+
tmp : {}
|
9
|
+
}
|
10
|
+
|
11
|
+
// Setup The Requirements
|
12
|
+
async function set(program) {
|
13
|
+
program.path = await require(`path`);
|
14
|
+
program.fs = await require(`fs`);
|
15
|
+
program.uuid = require(`uuid`);
|
16
|
+
program.fetch = require(`fetch`);
|
17
|
+
return program;
|
18
|
+
}
|
19
|
+
|
20
|
+
// Program Fetch
|
21
|
+
program.modules.dependOn = async function(reqFunc,program,name,callback) {
|
22
|
+
console.log(`Depend On Check`);
|
23
|
+
|
24
|
+
// Loop Through dependOn if its not true then check
|
25
|
+
for (let dependIndex in reqFunc.dependOn) {
|
26
|
+
const dependOn = reqFunc.dependOn[dependIndex];
|
27
|
+
// So we dependOn
|
28
|
+
// Check index
|
29
|
+
// If .
|
30
|
+
let split = dependOn.split(`.`);
|
31
|
+
// Now we should loop through array
|
32
|
+
let objectData = program;
|
33
|
+
let fullObjectPath = `program`;
|
34
|
+
let dependOnItem = ``;
|
35
|
+
for (let spl in split) {
|
36
|
+
// Grab object
|
37
|
+
let toCheck = split[spl];
|
38
|
+
if (objectData[toCheck] == undefined) {
|
39
|
+
if (program.modules[name] != undefined) {
|
40
|
+
return;
|
41
|
+
} else {
|
42
|
+
program.modules[name] = {
|
43
|
+
ts : Date.now()
|
44
|
+
}
|
45
|
+
await setTimeout(async function(){
|
46
|
+
await program.modules.dependOn(reqFunc,program,name,callback);
|
47
|
+
},200);
|
43
48
|
}
|
44
|
-
await setTimeout(async function(){
|
45
|
-
await program.modules.dependOn(reqFunc,program,name,callback);
|
46
|
-
},200);
|
47
|
-
}
|
48
|
-
} else {
|
49
|
-
// New object thing and og next
|
50
|
-
if (split.length-1 != spl) {
|
51
|
-
fullObjectPath = fullObjectPath + `.${toCheck}`
|
52
49
|
} else {
|
53
|
-
//
|
54
|
-
|
50
|
+
// New object thing and og next
|
51
|
+
if (split.length-1 != spl) {
|
52
|
+
fullObjectPath = fullObjectPath + `.${toCheck}`
|
53
|
+
} else {
|
54
|
+
// Depend on
|
55
|
+
dependOnItem = toCheck;
|
56
|
+
}
|
57
|
+
objectData = objectData[toCheck];
|
55
58
|
}
|
56
|
-
objectData = objectData[toCheck];
|
57
59
|
}
|
58
|
-
}
|
59
60
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
61
|
+
let progData = await eval(fullObjectPath);
|
62
|
+
const IndexCheck = Object.keys(progData).indexOf(dependOnItem);
|
63
|
+
if (IndexCheck == -1) {
|
64
|
+
// We need to wait and try again untill we can return
|
65
|
+
console.log(`DependOn Fail: ${dependOn}`);
|
66
|
+
await setTimeout(async function(){
|
67
|
+
await program.modules.dependOn(reqFunc,program);
|
68
|
+
},200);
|
69
|
+
} else if (program.modules[reqFunc.name] == undefined) {
|
70
|
+
console.log(`DependOn Succes: ${dependOn}`);
|
71
|
+
|
72
|
+
// Loop Through to find where data to set
|
73
|
+
const splitLoop = String(`${fullObjectPath}.${dependOnItem}`).split(`.`);
|
74
|
+
let object;
|
75
|
+
for (let s in splitLoop) {
|
76
|
+
let key = splitLoop[s];
|
77
|
+
try {
|
78
|
+
if (object == undefined) {
|
79
|
+
object = eval(key);
|
80
|
+
} else {
|
81
|
+
object = object[key];
|
82
|
+
}
|
83
|
+
if (s == splitLoop-1) {
|
84
|
+
// It's end
|
85
|
+
object = {
|
86
|
+
depend : dependOn,
|
87
|
+
state : true,
|
88
|
+
ts : Date.now()
|
89
|
+
}
|
90
|
+
}
|
91
|
+
} catch (err) {
|
92
|
+
console.error(err);
|
93
|
+
console.error(`errror boject eval set`);
|
94
|
+
return setTimeout(async function(){
|
95
|
+
await program.modules.dependOn(reqFunc,program,name,callback);
|
96
|
+
},200);
|
97
|
+
}
|
98
|
+
}
|
99
|
+
/*
|
100
|
+
progData[dependOnItem] = {
|
101
|
+
depend : dependOn,
|
102
|
+
state : true,
|
103
|
+
ts : Date.now()
|
104
|
+
} */
|
105
|
+
|
106
|
+
// Now include this thing then
|
76
107
|
try {
|
77
|
-
|
78
|
-
|
108
|
+
program.modules[reqFunc.name] = await reqFunc.run(program,reqFunc.name);
|
109
|
+
if (callback != undefined) {
|
110
|
+
return callback(program,name)
|
79
111
|
} else {
|
80
|
-
|
112
|
+
return program;
|
81
113
|
}
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
depend : dependOn,
|
86
|
-
state : true,
|
87
|
-
ts : Date.now()
|
88
|
-
}
|
89
|
-
}
|
90
|
-
} catch (err) {
|
114
|
+
} catch(err) {
|
115
|
+
// When erro
|
116
|
+
console.error(`Error Program add depend on require`);
|
91
117
|
console.error(err);
|
92
|
-
console.error(`errror boject eval set`);
|
93
|
-
return setTimeout(async function(){
|
94
|
-
await program.modules.dependOn(reqFunc,program,name,callback);
|
95
|
-
},200);
|
96
118
|
}
|
97
119
|
}
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
//
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
program.modules.fetch = async function(folder,program) {
|
124
|
+
// TO Fetch folder modules
|
125
|
+
program = await set(program);
|
126
|
+
try {
|
127
|
+
// Loop through folder and run module if js
|
128
|
+
const readPath = program.path.join(__dirname,folder);
|
129
|
+
const readDir = program.fs.readdirSync(readPath);
|
130
|
+
// Check if folder or not
|
131
|
+
await readDir.forEach(async (item) => {
|
132
|
+
const itemPath = program.path.join(readPath, item);
|
133
|
+
// Get the filename with extension
|
134
|
+
const fileNameWithExtension = program.path.basename(itemPath);
|
135
|
+
|
136
|
+
// Get the filename without extension
|
137
|
+
const fileNameWithoutExtension = program.path.parse(fileNameWithExtension).name;
|
138
|
+
|
139
|
+
console.log('Filename without extension:', fileNameWithoutExtension);
|
140
|
+
|
141
|
+
const isDirectory = program.fs.statSync(itemPath).isDirectory();
|
142
|
+
|
143
|
+
if (!isDirectory) {
|
144
|
+
// So it's file
|
145
|
+
// Run the file to know what to do but change program with the return
|
146
|
+
//program = (require(itemPath)(program));
|
147
|
+
//console.log(`Set`,itemPath);
|
110
148
|
} else {
|
111
|
-
|
149
|
+
// It's directory so read the init file
|
150
|
+
const initPath = program.path.join(itemPath,`init.js`);
|
151
|
+
|
152
|
+
// Require first
|
153
|
+
const reqFunc = require(initPath);
|
154
|
+
const theType = typeof reqFunc;
|
155
|
+
switch (theType) {
|
156
|
+
case `object`:
|
157
|
+
// It's a object so check for dependend things etc.
|
158
|
+
console.log(`Depending object`);
|
159
|
+
return await program.modules.dependOn(reqFunc,program,fileNameWithoutExtension,function(program,name){
|
160
|
+
console.log(`Setup `,name)
|
161
|
+
});
|
162
|
+
break;
|
163
|
+
case `function`:
|
164
|
+
program = await (require(initPath)(program,fileNameWithExtension));
|
165
|
+
break;
|
166
|
+
default:
|
167
|
+
console.error(`Error Missing typeOf item`);
|
168
|
+
}
|
112
169
|
}
|
113
|
-
}
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
170
|
+
});
|
171
|
+
|
172
|
+
} catch(err) {
|
173
|
+
console.error(`Error Program Modules Fetch`);
|
174
|
+
console.error(err);
|
118
175
|
}
|
119
176
|
}
|
120
|
-
|
121
|
-
|
122
|
-
program.modules.
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
const
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
const
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
177
|
+
|
178
|
+
// Create tmp file path
|
179
|
+
program.modules.walkDirectory = async function (directoryPath, callback, forward, parentFileData) {
|
180
|
+
let allFiles = [];
|
181
|
+
try {
|
182
|
+
// Read the contents of the current directory
|
183
|
+
const files = await program.fs.readdirSync(directoryPath);
|
184
|
+
|
185
|
+
// Iterate through the files in the directory
|
186
|
+
for (const file of files) {
|
187
|
+
// Construct the full path of the current file or directory
|
188
|
+
const fullPath = program.path.join(directoryPath, file);
|
189
|
+
|
190
|
+
// Check if the current item is a directory
|
191
|
+
const pathSync = await program.fs.statSync(fullPath);
|
192
|
+
const isDirectoryPath = await pathSync.isDirectory();
|
193
|
+
const fileExtension = program.path.extname(fullPath);
|
194
|
+
|
195
|
+
// Get the filename without the extension
|
196
|
+
const fileName = program.path.basename(fullPath, fileExtension);
|
197
|
+
|
198
|
+
// Create a new fileData object for each file or directory
|
199
|
+
const currentFileData = {
|
200
|
+
extension: fileExtension,
|
201
|
+
name: fileName,
|
202
|
+
path: fullPath,
|
203
|
+
sub: [],
|
204
|
+
};
|
205
|
+
|
206
|
+
if (isDirectoryPath) {
|
207
|
+
// If it's a directory, recursively walk through it
|
208
|
+
let pushData = await program.modules.walkDirectory(fullPath, callback, fileName, currentFileData);
|
209
|
+
if (pushData.length !== 0) {
|
210
|
+
// Concatenate arrays instead of pushing an array
|
211
|
+
allFiles.push(currentFileData);
|
212
|
+
allFiles = allFiles.concat(pushData);
|
147
213
|
} else {
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
break;
|
162
|
-
case `function`:
|
163
|
-
program = await (require(initPath)(program,fileNameWithExtension));
|
164
|
-
break;
|
165
|
-
default:
|
166
|
-
console.error(`Error Missing typeOf item`);
|
167
|
-
}
|
214
|
+
allFiles.push(currentFileData);
|
215
|
+
}
|
216
|
+
} else {
|
217
|
+
// If it's a file, print the path
|
218
|
+
console.log('File Extension:', fileExtension);
|
219
|
+
console.log('File Name:', fileName);
|
220
|
+
|
221
|
+
if (forward !== undefined) {
|
222
|
+
// Push it to sub
|
223
|
+
parentFileData.sub.push(currentFileData);
|
224
|
+
} else {
|
225
|
+
allFiles.push(currentFileData);
|
226
|
+
}
|
168
227
|
}
|
169
|
-
});
|
170
|
-
|
171
|
-
} catch(err) {
|
172
|
-
console.error(`Error Program Modules Fetch`);
|
173
|
-
console.error(err);
|
174
|
-
}
|
175
|
-
}
|
176
|
-
|
177
|
-
// Create tmp file path
|
178
|
-
program.modules.walkDirectory = async function (directoryPath, callback, forward, parentFileData) {
|
179
|
-
let allFiles = [];
|
180
|
-
try {
|
181
|
-
// Read the contents of the current directory
|
182
|
-
const files = await program.fs.readdirSync(directoryPath);
|
183
|
-
|
184
|
-
// Iterate through the files in the directory
|
185
|
-
for (const file of files) {
|
186
|
-
// Construct the full path of the current file or directory
|
187
|
-
const fullPath = program.path.join(directoryPath, file);
|
188
|
-
|
189
|
-
// Check if the current item is a directory
|
190
|
-
const pathSync = await program.fs.statSync(fullPath);
|
191
|
-
const isDirectoryPath = await pathSync.isDirectory();
|
192
|
-
const fileExtension = program.path.extname(fullPath);
|
193
|
-
|
194
|
-
// Get the filename without the extension
|
195
|
-
const fileName = program.path.basename(fullPath, fileExtension);
|
196
|
-
|
197
|
-
// Create a new fileData object for each file or directory
|
198
|
-
const currentFileData = {
|
199
|
-
extension: fileExtension,
|
200
|
-
name: fileName,
|
201
|
-
path: fullPath,
|
202
|
-
sub: [],
|
203
|
-
};
|
204
|
-
|
205
|
-
if (isDirectoryPath) {
|
206
|
-
// If it's a directory, recursively walk through it
|
207
|
-
let pushData = await program.modules.walkDirectory(fullPath, callback, fileName, currentFileData);
|
208
|
-
if (pushData.length !== 0) {
|
209
|
-
// Concatenate arrays instead of pushing an array
|
210
|
-
allFiles.push(currentFileData);
|
211
|
-
allFiles = allFiles.concat(pushData);
|
212
|
-
} else {
|
213
|
-
allFiles.push(currentFileData);
|
214
|
-
}
|
215
|
-
} else {
|
216
|
-
// If it's a file, print the path
|
217
|
-
console.log('File Extension:', fileExtension);
|
218
|
-
console.log('File Name:', fileName);
|
219
|
-
|
220
|
-
if (forward !== undefined) {
|
221
|
-
// Push it to sub
|
222
|
-
parentFileData.sub.push(currentFileData);
|
223
|
-
} else {
|
224
|
-
allFiles.push(currentFileData);
|
225
|
-
}
|
226
228
|
}
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
}
|
237
|
-
|
238
|
-
|
229
|
+
|
230
|
+
if (callback && forward === undefined) {
|
231
|
+
await callback(allFiles);
|
232
|
+
}
|
233
|
+
|
234
|
+
return allFiles;
|
235
|
+
} catch (error) {
|
236
|
+
console.error('Error:', error.message);
|
237
|
+
}
|
238
|
+
};
|
239
|
+
|
239
240
|
|
240
|
-
|
241
|
-
|
241
|
+
|
242
|
+
|
242
243
|
|
243
|
-
// Run program fetch
|
244
|
-
program.modules.fetch(`modules`,program);
|
244
|
+
// Run program fetch
|
245
|
+
program.modules.fetch(`modules`,program);
|
246
|
+
}
|
@@ -7,14 +7,13 @@ module.exports = {
|
|
7
7
|
this.line[id] = data;
|
8
8
|
return this.line[id];
|
9
9
|
},
|
10
|
-
get : function(id) {
|
10
|
+
get : function(id,program) {
|
11
11
|
console.log(`Que Get Telegram`);
|
12
12
|
// Check if in que line
|
13
|
-
|
14
|
-
if (indexPart == -1) {
|
13
|
+
if (program.modules.telegram.functions.que.line[id] == undefined) {
|
15
14
|
return false;
|
16
15
|
} else {
|
17
|
-
let lineData =
|
16
|
+
let lineData = program.modules.telegram.functions.que.line[id];
|
18
17
|
return lineData;
|
19
18
|
}
|
20
19
|
},
|
@@ -31,22 +30,87 @@ module.exports = {
|
|
31
30
|
|
32
31
|
let scriptStart = `start`;
|
33
32
|
// It's new
|
34
|
-
if (program.modules.telegram.script.int[command] == undefined) {
|
33
|
+
if (program.modules.telegram.script.int[command] == undefined && program.modules.telegram.functions.que.line[chatID] == undefined) {
|
35
34
|
// Send message we don't know
|
36
35
|
|
37
36
|
return false;
|
38
37
|
}
|
39
38
|
|
40
39
|
// Create the que line command
|
41
|
-
|
40
|
+
let script = program.modules.telegram.script.int[command];
|
42
41
|
|
43
42
|
let current;
|
44
43
|
|
44
|
+
let theUUID = program.uuid.v4();
|
45
45
|
if (program.modules.telegram.functions.que.line[chatID] != undefined) {
|
46
46
|
// It's original que
|
47
47
|
// Process response
|
48
48
|
console.log(`It's a process`)
|
49
49
|
current = program.modules.telegram.functions.que.line[chatID];
|
50
|
+
theUUID = current.uuid;
|
51
|
+
|
52
|
+
// Check what to do next first of all save anwser
|
53
|
+
const question = current.script[current.process];
|
54
|
+
// Grab function to process
|
55
|
+
const anwser = middleValue;
|
56
|
+
|
57
|
+
// Check if text then we need to match if not we probably need to run only function and go to next one
|
58
|
+
let matched = false;
|
59
|
+
let anwserData;
|
60
|
+
if (middleValue.text != undefined) {
|
61
|
+
console.log(`Match Text`);
|
62
|
+
// Loop through match
|
63
|
+
anwserData = middleValue.text;
|
64
|
+
for (let q in question.match.data) {
|
65
|
+
const qMatch = question.match.data[q];
|
66
|
+
|
67
|
+
// Check typeof
|
68
|
+
if (typeof qMatch.anwser == `object`) {
|
69
|
+
// Match in index
|
70
|
+
const matchedIndex = qMatch.anwser.indexOf(middleValue.text);
|
71
|
+
if (matchedIndex != -1) {
|
72
|
+
matched = qMatch;
|
73
|
+
}
|
74
|
+
} else if (qMatch.anwser == middleValue.text) {
|
75
|
+
matched = qMatch;
|
76
|
+
}
|
77
|
+
}
|
78
|
+
} else {
|
79
|
+
console.error(`Need to set anwser data`);
|
80
|
+
}
|
81
|
+
|
82
|
+
// End of match process fo matched checking
|
83
|
+
if (matched == false && current.q == true) {
|
84
|
+
// We have different data
|
85
|
+
console.error(`Not matched`);
|
86
|
+
// Send command when wrong // or buttons like reset button
|
87
|
+
// check what to do
|
88
|
+
return false;
|
89
|
+
} else {
|
90
|
+
console.log(`Matched`);
|
91
|
+
current.anwsers[current.process] = {
|
92
|
+
anwser : anwserData,
|
93
|
+
message : anwser,
|
94
|
+
ts : Date.now()
|
95
|
+
};
|
96
|
+
|
97
|
+
// Set next steps and get next steps data
|
98
|
+
try {
|
99
|
+
const nextData = current.script[matched.next];
|
100
|
+
if (nextData == undefined) {
|
101
|
+
throw new Error(`Problems getting nextData for`,current);
|
102
|
+
}
|
103
|
+
console.log(`Next Data`);
|
104
|
+
scriptStart = matched.next;
|
105
|
+
current.process = matched.next;
|
106
|
+
script = current.script;
|
107
|
+
} catch (err) {
|
108
|
+
console.error(err);
|
109
|
+
console.error(`Error getting data for next: ${matched.next}`);
|
110
|
+
}
|
111
|
+
}
|
112
|
+
|
113
|
+
console.log(`We have question anwser`);
|
50
114
|
} else {
|
51
115
|
// Create que line
|
52
116
|
let setData = {
|
@@ -54,7 +118,9 @@ module.exports = {
|
|
54
118
|
action : command,
|
55
119
|
process : scriptStart,
|
56
120
|
script : script,
|
57
|
-
anwsers : {}
|
121
|
+
anwsers : {},
|
122
|
+
uuid : theUUID,
|
123
|
+
q : true
|
58
124
|
}
|
59
125
|
program.modules.telegram.functions.que.line[chatID] = setData;
|
60
126
|
current = setData;
|
@@ -69,6 +135,22 @@ module.exports = {
|
|
69
135
|
"{{TEST}}" : "TEST REPLACED"
|
70
136
|
}
|
71
137
|
|
138
|
+
// Check if anwsers
|
139
|
+
if (Object.keys(current.anwsers).length > 0) {
|
140
|
+
// Check the anwsers
|
141
|
+
for (let anwserTXT in current.anwsers) {
|
142
|
+
const typedOf = typeof current.anwsers[anwserTXT].anwser;
|
143
|
+
|
144
|
+
if (typedOf == `string`) {
|
145
|
+
replace[`{{${String(anwserTXT).toUpperCase()}}}`] = current.anwsers[anwserTXT].anwser;
|
146
|
+
}
|
147
|
+
}
|
148
|
+
console.log(`Check loop through anwsers`);
|
149
|
+
}
|
150
|
+
|
151
|
+
// Add items to replace
|
152
|
+
console.log(`Add Items to replace`);
|
153
|
+
|
72
154
|
// Check if text
|
73
155
|
let toSend = {}
|
74
156
|
if (theScript.object.text != undefined) {
|
@@ -92,13 +174,29 @@ module.exports = {
|
|
92
174
|
}
|
93
175
|
|
94
176
|
// Check if text
|
95
|
-
|
177
|
+
let buttons;
|
178
|
+
// check for buttons
|
179
|
+
if (theScript.object.buttons != undefined) {
|
180
|
+
buttons = JSON.stringify(theScript.object.buttons);
|
181
|
+
// Loop through replace
|
182
|
+
for (let repKey in replace) {
|
183
|
+
const newRegx = new RegExp(repKey, 'g');
|
184
|
+
buttons = buttons.replace(newRegx,replace[repKey]);
|
185
|
+
}
|
186
|
+
buttons = JSON.parse(buttons);
|
187
|
+
}
|
188
|
+
await program.modules.telegram.functions.send(program,toSend,middleValue.chat.id,buttons);
|
96
189
|
|
190
|
+
// set que uuid
|
97
191
|
program.modules.telegram.functions.que.line[chatID] = current;
|
192
|
+
|
98
193
|
console.log(`We have script data`);
|
194
|
+
|
195
|
+
return current;
|
99
196
|
} catch (err) {
|
100
197
|
console.error(err);
|
101
198
|
console.error(`Error with que something`);
|
199
|
+
return false;
|
102
200
|
}
|
103
201
|
|
104
202
|
// Do all the things that we need to do in the run
|
@@ -4,8 +4,8 @@ module.exports = {
|
|
4
4
|
console.log(`Check if there is script`);
|
5
5
|
try {
|
6
6
|
const scriptData = program.modules.telegram.script.int[command];
|
7
|
-
if (scriptData.
|
8
|
-
await program.modules.telegram.functions.send(program
|
7
|
+
if (scriptData == undefined && program.modules.telegram.functions.que.get(chatID,program) == false) {
|
8
|
+
await program.modules.telegram.functions.send(program,`Sorry we don't understand: ${command}`,chatID,[
|
9
9
|
[
|
10
10
|
{ text: 'EventGO!', web_app : { url : 'https://cloud.eventgo.today/events/list'}},
|
11
11
|
{ text: 'Create Event', callback_data: 'create_event' },
|
@@ -17,8 +17,16 @@ module.exports = {
|
|
17
17
|
|
18
18
|
// Check if queData is empty otherwise we will run the script from "start", if que data is not empty we run it further
|
19
19
|
// unt o process script
|
20
|
-
|
20
|
+
// now it's just wait
|
21
21
|
console.log(`Went through que get`);
|
22
|
+
// Send message
|
23
|
+
if (queData == false) {
|
24
|
+
await program.modules.telegram.functions.send(program,`Sorry we don't know what to do with: ${command}`,chatID);
|
25
|
+
} else if (queData.process != `start`) {
|
26
|
+
// Process the que event
|
27
|
+
console.log(`Process the que event`);
|
28
|
+
|
29
|
+
}
|
22
30
|
}
|
23
31
|
console.log(`Setted`);
|
24
32
|
|
@@ -27,5 +35,8 @@ module.exports = {
|
|
27
35
|
console.error(err);
|
28
36
|
console.error(`Error Scripting`);
|
29
37
|
}
|
38
|
+
},
|
39
|
+
response : async function() {
|
40
|
+
console.log(`Function Response`);
|
30
41
|
}
|
31
42
|
}
|
@@ -2,36 +2,56 @@
|
|
2
2
|
"input" : "test input",
|
3
3
|
"start" : {
|
4
4
|
"object" : {
|
5
|
-
"text" : "
|
5
|
+
"text" : "Test First Title : {{TEST}}",
|
6
6
|
"image" : "{{URL}}app/content/images/block.png"
|
7
7
|
},
|
8
8
|
"match" : {
|
9
9
|
"data" : [{
|
10
|
-
"
|
11
|
-
"function"
|
12
|
-
"reply_markup" : {
|
13
|
-
"inline_keyboard": [[
|
14
|
-
{
|
15
|
-
"text": "A",
|
16
|
-
"callback_data": "A1"
|
17
|
-
},
|
18
|
-
{
|
19
|
-
"text": "B",
|
20
|
-
"callback_data": "C1"
|
21
|
-
}]
|
22
|
-
]
|
23
|
-
},
|
10
|
+
"anwser" : ["anwser text","anwser"],
|
11
|
+
"function" : "program.modules.bots.scripts.function.response",
|
24
12
|
"next" : "nextFunc"
|
25
13
|
},{
|
26
|
-
"
|
27
|
-
"function" : "program.modules.bots.scripts.function",
|
14
|
+
"anwser" : "other",
|
15
|
+
"function" : "program.modules.bots.scripts.function.response",
|
28
16
|
"next" : "nextFunc"
|
17
|
+
},{
|
18
|
+
"anwser" : "hi",
|
19
|
+
"function" : "program.modules.bots.scripts.function.response",
|
20
|
+
"next" : "nextFunc"
|
21
|
+
}]
|
22
|
+
},
|
23
|
+
"fail" : {
|
24
|
+
"response" : "start",
|
25
|
+
"function" : "program.modules.bots.scripts.function.response",
|
26
|
+
"next" : "failResponse"
|
27
|
+
}
|
28
|
+
},
|
29
|
+
"nextFunc" : {
|
30
|
+
"object" : {
|
31
|
+
"text" : "Testing Title : {{START}}",
|
32
|
+
"buttons" : [
|
33
|
+
[
|
34
|
+
{ "text": "EventGO!", "web_app" : { "url" : "{{URL}}events/list"}},
|
35
|
+
{ "text": "Create Event", "callback_data": "create_event" }
|
36
|
+
]
|
37
|
+
]
|
38
|
+
},
|
39
|
+
"match" : {
|
40
|
+
"data" : [{
|
41
|
+
"anwser" : ["create_event"],
|
42
|
+
"function" : "program.modules.bots.scripts.function.response",
|
43
|
+
"next" : "finish"
|
29
44
|
}]
|
30
45
|
},
|
31
46
|
"fail" : {
|
32
47
|
"response" : "start",
|
33
|
-
"function" : "program.modules.bots.scripts.function",
|
48
|
+
"function" : "program.modules.bots.scripts.function.response",
|
34
49
|
"next" : "failResponse"
|
35
50
|
}
|
51
|
+
},
|
52
|
+
"failResponse" : {
|
53
|
+
"object" : {
|
54
|
+
"text" : "Sorry Something Wnt wrong : {{START}}"
|
55
|
+
}
|
36
56
|
}
|
37
57
|
}
|
@@ -44,6 +44,8 @@ module.exports = async function(program,message,id,buttons) {
|
|
44
44
|
delete body.reply_to_message_id;
|
45
45
|
telegramURL = `${telegramURL}/sendPhoto`;
|
46
46
|
}
|
47
|
+
} else {
|
48
|
+
telegramURL = `${telegramURL}/sendMessage`;
|
47
49
|
}
|
48
50
|
|
49
51
|
// If options is there add as
|
@@ -52,6 +54,13 @@ module.exports = async function(program,message,id,buttons) {
|
|
52
54
|
}
|
53
55
|
|
54
56
|
const madeRequest = await program.modules.request.post(program,telegramURL,body)
|
57
|
+
|
58
|
+
// Save to send so we can have the id and do things
|
59
|
+
madeRequest.result.uuid = program.uuid.v4();
|
60
|
+
let saveSend = await program.modules.data.findOrCreate(`eventgo`,`send`,{
|
61
|
+
message_id : madeRequest.result.message_id
|
62
|
+
},madeRequest.result);
|
63
|
+
|
55
64
|
console.log(`Send Message`);
|
56
65
|
return madeRequest;
|
57
66
|
}
|
package/package.json
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|