webfast 0.1.58 → 0.1.63
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.
@@ -124,13 +124,45 @@ web.fast.connectWebSocket = function(socketURL,maxRetries = 40, retries = 0) {
|
|
124
124
|
console.log('WebSocket connected');
|
125
125
|
// Start other things (e.g., send initial data)
|
126
126
|
web.fast.que.state = true;
|
127
|
+
|
128
|
+
//alert(web.fast.tools.isMobile);
|
129
|
+
function arraySend() {
|
130
|
+
try {
|
131
|
+
if (web.fast.user != undefined || window.Telegram.WebApp.initData == ``) {
|
132
|
+
let arraySend = [];
|
133
|
+
jQuery(`[webfast-get]`).each(async function(){
|
134
|
+
const type = jQuery(this).attr(`webfast-get`);
|
135
|
+
let id = jQuery(this).attr(`id`);
|
136
|
+
if (id == undefined) {
|
137
|
+
id = await web.fast.tools.generateRandomId(8); // Generate a random ID of length 8
|
138
|
+
}
|
139
|
+
arraySend.push({
|
140
|
+
id : id,
|
141
|
+
type : type
|
142
|
+
})
|
143
|
+
})
|
144
|
+
console.log(`Send Array`,arraySend);
|
145
|
+
web.fast.tools.on.connect(arraySend);
|
146
|
+
} else {
|
147
|
+
throw new Error(`error some send`);
|
148
|
+
}
|
149
|
+
} catch (err) {
|
150
|
+
console.error(`Try again`);
|
151
|
+
setTimeout(function(){
|
152
|
+
arraySend();
|
153
|
+
},200);
|
154
|
+
}
|
155
|
+
}
|
156
|
+
// send array
|
157
|
+
arraySend();
|
127
158
|
|
128
159
|
};
|
129
160
|
|
130
161
|
ws.onmessage = (event) => {
|
131
|
-
console.log('Received:', event.data);
|
162
|
+
//console.log('Received:', event.data);
|
132
163
|
// Handle received data
|
133
164
|
// Check if type user then we will walk through the data to set the data for the user
|
165
|
+
try {
|
134
166
|
const json = JSON.parse(event.data);
|
135
167
|
if (json.type == `user`) {
|
136
168
|
// We have user data
|
@@ -177,6 +209,10 @@ web.fast.connectWebSocket = function(socketURL,maxRetries = 40, retries = 0) {
|
|
177
209
|
|
178
210
|
web.fast.que.state = Date.now();
|
179
211
|
web.fast.receive(`socket`,event.data); // Placeholder for processing response
|
212
|
+
} catch (err) {
|
213
|
+
console.error(`Error Receiving`);
|
214
|
+
console.error(event);
|
215
|
+
}
|
180
216
|
};
|
181
217
|
|
182
218
|
ws.onclose = (event) => {
|
@@ -51,6 +51,13 @@ module.exports = async function(program,folder) {
|
|
51
51
|
id : middleValue.from.id
|
52
52
|
},middleValue.chat);
|
53
53
|
let typeOFF = typeof user;
|
54
|
+
if (user._id != undefined && middleValue.new_chat_member != undefined) {
|
55
|
+
if (middleValue.new_chat_member.id == user.id) {
|
56
|
+
res.send(`OK`);
|
57
|
+
return res.status(200);
|
58
|
+
}
|
59
|
+
}
|
60
|
+
|
54
61
|
if (middleValue.chat.uuid == user.uuid || user.profileImage == undefined) {
|
55
62
|
user.new = true;
|
56
63
|
|
@@ -73,6 +80,60 @@ module.exports = async function(program,folder) {
|
|
73
80
|
|
74
81
|
|
75
82
|
console.log(`We have received message`,received);
|
83
|
+
// Check if left or not
|
84
|
+
if (received.message != undefined){
|
85
|
+
if (received.message.left_chat_member != undefined || received.message.left_chat_participant != undefined) {
|
86
|
+
console.log(`Someone left so update the databate that they left `);
|
87
|
+
const member = received.message.left_chat_participant;
|
88
|
+
|
89
|
+
// return
|
90
|
+
return true;
|
91
|
+
}
|
92
|
+
|
93
|
+
// When signup
|
94
|
+
if (received.message.new_chat_members != undefined) {
|
95
|
+
// Return because we don't need to do anything
|
96
|
+
// Loop THrough
|
97
|
+
for (let chatI in received.message.new_chat_members) {
|
98
|
+
const member = received.message.new_chat_members[chatI];
|
99
|
+
const id = member.id;
|
100
|
+
console.log(`Something with member`);
|
101
|
+
|
102
|
+
const updated =await program.modules.data.update(`eventgo`,`telegram`,{
|
103
|
+
id : id
|
104
|
+
},{
|
105
|
+
$set: {
|
106
|
+
group : Date.now()
|
107
|
+
}
|
108
|
+
});
|
109
|
+
console.log(`Updated`);
|
110
|
+
|
111
|
+
// Send notification to
|
112
|
+
if (updated.acknowledged) {
|
113
|
+
// Send Message That is subscribed to person and welcome in group
|
114
|
+
// Say hey all welcome to
|
115
|
+
if (member.first_name != undefined) {
|
116
|
+
// Send here message to group
|
117
|
+
const message = `Hey <b>${member.first_name}</b> 🎉\nWelcome to the <b>EventGO! Community</b>, here you will receive updates about new events and you are able to chat with others, enjoy and feel free to ask anything.`;
|
118
|
+
const send = await program.modules.telegram.functions.send(program,message,middleValue.chat.id);
|
119
|
+
}
|
120
|
+
|
121
|
+
// Send here message to member that he joined and if he want to continue his
|
122
|
+
}
|
123
|
+
}
|
124
|
+
|
125
|
+
// Send message to user that they can continue with their setup
|
126
|
+
res.status(`OK`);
|
127
|
+
res.status(200);
|
128
|
+
}
|
129
|
+
|
130
|
+
// Else when group
|
131
|
+
if (received.message.chat.username == `eventgocommunity` || received.message.chat.type == `supergroup`) {
|
132
|
+
// This is when community or supergroup
|
133
|
+
console.error(`Super Group Handler Need TODO`);
|
134
|
+
return true;
|
135
|
+
}
|
136
|
+
}
|
76
137
|
|
77
138
|
try {
|
78
139
|
// Or check if single word
|
@@ -0,0 +1,48 @@
|
|
1
|
+
const { MongoClient } = require('mongodb');
|
2
|
+
|
3
|
+
module.exports = async function(db, collection, filter, update, options = {}) {
|
4
|
+
// Ensure the MongoDB connection string is provided
|
5
|
+
if (!process.env.mongo) {
|
6
|
+
console.error('MongoDB connection string not provided. Set process.env.mongo.');
|
7
|
+
process.exit(1);
|
8
|
+
}
|
9
|
+
|
10
|
+
// Define the MongoDB URI
|
11
|
+
const uri = process.env.mongo;
|
12
|
+
|
13
|
+
// Define the database and collection name
|
14
|
+
const dbName = db;
|
15
|
+
const collectionName = collection;
|
16
|
+
|
17
|
+
async function main() {
|
18
|
+
// Create a new MongoClient
|
19
|
+
const client = new MongoClient(uri);
|
20
|
+
|
21
|
+
try {
|
22
|
+
// Connect to the MongoDB server
|
23
|
+
await client.connect();
|
24
|
+
console.log('Connected to the MongoDB server');
|
25
|
+
|
26
|
+
// Select the database
|
27
|
+
const database = client.db(dbName);
|
28
|
+
|
29
|
+
// Select the collection
|
30
|
+
const collection = database.collection(collectionName);
|
31
|
+
|
32
|
+
// Perform the update operation
|
33
|
+
const result = await collection.updateOne(filter, update, options);
|
34
|
+
|
35
|
+
// Process the result
|
36
|
+
console.log('Update result:', result);
|
37
|
+
|
38
|
+
return result;
|
39
|
+
} finally {
|
40
|
+
// Close the MongoClient
|
41
|
+
await client.close();
|
42
|
+
console.log('Connection closed.');
|
43
|
+
}
|
44
|
+
}
|
45
|
+
|
46
|
+
// Execute the main function
|
47
|
+
return main().catch(console.error);
|
48
|
+
};
|
package/modules/express/init.js
CHANGED
@@ -377,7 +377,7 @@ module.exports = async function (program) {
|
|
377
377
|
|
378
378
|
// WebSocket on message event
|
379
379
|
ws.on('message', async (message) => {
|
380
|
-
console.log(`Received message from ${clientId}: ${message}`);
|
380
|
+
//console.log(`Received message from ${clientId}: ${message}`);
|
381
381
|
|
382
382
|
try {
|
383
383
|
// Check for function
|
@@ -389,7 +389,7 @@ module.exports = async function (program) {
|
|
389
389
|
// Check if function is running in program modules that you can add in the init scirpt when using remote
|
390
390
|
if (program.express.process != undefined) {
|
391
391
|
try {
|
392
|
-
let resp = await program.express.process[split[0]][split[1]][split[2]](program,ws,json,data,path);
|
392
|
+
let resp = await program.express.process[split[0]][split[1]][split[2]](program,ws,json,data,path,clientId);
|
393
393
|
if (resp != false) {
|
394
394
|
ws.send(JSON.stringify(resp));
|
395
395
|
}
|