rubjs 1.0.0 → 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/package.json +6 -1
- package/rubjs/methods/auth/send_code.d.ts +1 -1
- package/rubjs/methods/auth/sign_in.d.ts +1 -1
- package/rubjs/methods/auth/types/index.d.ts +3 -0
- package/rubjs/methods/index.d.ts +33 -8
- package/rubjs/methods/index.js +135 -16
- package/rubjs/methods/messages/action_on_message_reaction.d.ts +4 -0
- package/rubjs/methods/messages/action_on_message_reaction.js +25 -0
- package/rubjs/methods/messages/create_poll.d.ts +4 -0
- package/rubjs/methods/messages/create_poll.js +35 -0
- package/rubjs/methods/messages/delete_messages.d.ts +4 -0
- package/rubjs/methods/messages/delete_messages.js +26 -0
- package/rubjs/methods/messages/edit_message.d.ts +4 -0
- package/rubjs/methods/messages/edit_message.js +22 -0
- package/rubjs/methods/messages/forward_messages.d.ts +4 -0
- package/rubjs/methods/messages/forward_messages.js +31 -0
- package/rubjs/methods/messages/get_message_share_url.d.ts +4 -0
- package/rubjs/methods/{utilities/on_message_updates.js → messages/get_message_share_url.js} +3 -3
- package/rubjs/methods/messages/get_messages_by_id.d.ts +4 -0
- package/rubjs/methods/messages/get_messages_by_id.js +22 -0
- package/rubjs/methods/messages/get_messages_interval.d.ts +4 -0
- package/rubjs/methods/{utilities/on_show_notifications.js → messages/get_messages_interval.js} +5 -6
- package/rubjs/methods/messages/get_messages_updates.d.ts +4 -0
- package/rubjs/methods/messages/get_messages_updates.js +17 -0
- package/rubjs/methods/messages/get_poll_option_voters.d.ts +4 -0
- package/rubjs/methods/messages/get_poll_option_voters.js +21 -0
- package/rubjs/methods/messages/get_poll_status.d.ts +4 -0
- package/rubjs/methods/{utilities/on_chat_updates.js → messages/get_poll_status.js} +3 -3
- package/rubjs/methods/messages/index.d.ts +17 -0
- package/rubjs/methods/messages/index.js +38 -0
- package/rubjs/methods/messages/send_message.d.ts +4 -0
- package/rubjs/methods/messages/send_message.js +134 -0
- package/rubjs/methods/messages/send_photo.d.ts +4 -0
- package/rubjs/methods/messages/send_photo.js +17 -0
- package/rubjs/methods/messages/send_text.d.ts +4 -0
- package/rubjs/methods/messages/send_text.js +17 -0
- package/rubjs/methods/messages/set_pin_message.d.ts +4 -0
- package/rubjs/methods/messages/set_pin_message.js +23 -0
- package/rubjs/methods/messages/types/action_on_message_reaction.d.ts +10 -0
- package/rubjs/methods/messages/types/delete_message.d.ts +34 -0
- package/rubjs/methods/messages/types/edit_message.d.ts +38 -0
- package/rubjs/methods/messages/types/forward_messages.d.ts +7 -0
- package/rubjs/methods/messages/types/get_messages_by_id.d.ts +14 -0
- package/rubjs/methods/messages/types/get_messages_interval.d.ts +43 -0
- package/rubjs/methods/messages/types/get_messages_updates.d.ts +29 -0
- package/rubjs/methods/messages/types/get_messages_updates.js +2 -0
- package/rubjs/methods/messages/types/get_poll_option_voters.d.ts +19 -0
- package/rubjs/methods/messages/types/get_poll_option_voters.js +2 -0
- package/rubjs/methods/messages/types/get_poll_status.d.ts +13 -0
- package/rubjs/methods/messages/types/get_poll_status.js +2 -0
- package/rubjs/methods/messages/types/index.d.ts +13 -0
- package/rubjs/methods/messages/types/index.js +2 -0
- package/rubjs/methods/messages/types/message_result.d.ts +7 -0
- package/rubjs/methods/messages/types/message_result.js +2 -0
- package/rubjs/methods/messages/types/mini_typs.d.ts +5 -0
- package/rubjs/methods/messages/types/mini_typs.js +2 -0
- package/rubjs/methods/messages/types/set_pin_message.d.ts +15 -0
- package/rubjs/methods/messages/types/set_pin_message.js +2 -0
- package/rubjs/methods/messages/vote_poll.d.ts +4 -0
- package/rubjs/methods/{utilities/on_show_activities.js → messages/vote_poll.js} +3 -3
- package/rubjs/methods/types/chat_updates.js +2 -0
- package/rubjs/methods/types/index.d.ts +5 -0
- package/rubjs/methods/types/index.js +2 -0
- package/rubjs/methods/types/message_update.js +2 -0
- package/rubjs/methods/types/show_activities.js +2 -0
- package/rubjs/methods/types/show_notifications.js +2 -0
- package/rubjs/methods/users/get_user_info.d.ts +1 -1
- package/rubjs/methods/users/types/get_user_info.js +2 -0
- package/rubjs/methods/users/types/index.d.ts +2 -0
- package/rubjs/methods/users/types/index.js +2 -0
- package/rubjs/methods/utilities/index.d.ts +2 -1
- package/rubjs/methods/utilities/index.js +3 -1
- package/rubjs/methods/utilities/request_send_file.d.ts +4 -0
- package/rubjs/methods/utilities/request_send_file.js +22 -0
- package/rubjs/methods/utilities/start.js +2 -1
- package/rubjs/methods/utilities/thumbnail.d.ts +5 -0
- package/rubjs/methods/utilities/thumbnail.js +61 -0
- package/rubjs/methods/utilities/types/index.d.ts +2 -0
- package/rubjs/methods/utilities/types/index.js +2 -0
- package/rubjs/methods/utilities/types/request_send_file.d.ts +7 -0
- package/rubjs/methods/utilities/types/request_send_file.js +2 -0
- package/rubjs/network/index.d.ts +8 -0
- package/rubjs/network/index.js +111 -1
- package/rubjs/utils/filters.d.ts +12 -21
- package/rubjs/utils/filters.js +25 -33
- package/rubjs/methods/utilities/on_chat_updates.d.ts +0 -4
- package/rubjs/methods/utilities/on_message_updates.d.ts +0 -4
- package/rubjs/methods/utilities/on_show_activities.d.ts +0 -4
- package/rubjs/methods/utilities/on_show_notifications.d.ts +0 -4
- package/rubjs/types/filters_optiom.d.ts +0 -10
- package/rubjs/types/index.d.ts +0 -9
- /package/rubjs/{types → methods/auth/types}/index.js +0 -0
- /package/rubjs/{types → methods/auth/types}/send_code.d.ts +0 -0
- /package/rubjs/{types → methods/auth/types}/send_code.js +0 -0
- /package/rubjs/{types → methods/auth/types}/sign_in.d.ts +0 -0
- /package/rubjs/{types → methods/auth/types}/sign_in.js +0 -0
- /package/rubjs/{types/chat_updates.js → methods/messages/types/action_on_message_reaction.js} +0 -0
- /package/rubjs/{types/filters_optiom.js → methods/messages/types/delete_message.js} +0 -0
- /package/rubjs/{types/get_user_info.js → methods/messages/types/edit_message.js} +0 -0
- /package/rubjs/{types/message_update.js → methods/messages/types/forward_messages.js} +0 -0
- /package/rubjs/{types/show_activities.js → methods/messages/types/get_messages_by_id.js} +0 -0
- /package/rubjs/{types/show_notifications.js → methods/messages/types/get_messages_interval.js} +0 -0
- /package/rubjs/{types → methods/types}/chat_updates.d.ts +0 -0
- /package/rubjs/{types → methods/types}/message_update.d.ts +0 -0
- /package/rubjs/{types → methods/types}/show_activities.d.ts +0 -0
- /package/rubjs/{types → methods/types}/show_notifications.d.ts +0 -0
- /package/rubjs/{types → methods/users/types}/get_user_info.d.ts +0 -0
@@ -0,0 +1,22 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
+
function request_send_file(file_name_1, size_1) {
|
13
|
+
return __awaiter(this, arguments, void 0, function* (file_name, size, mime = null) {
|
14
|
+
const input = {
|
15
|
+
file_name: file_name,
|
16
|
+
size: new Number(size),
|
17
|
+
mime: !mime ? file_name.split(".")[-1] : mime,
|
18
|
+
};
|
19
|
+
return yield this.builder("requestSendFile", input);
|
20
|
+
});
|
21
|
+
}
|
22
|
+
exports.default = request_send_file;
|
@@ -23,7 +23,8 @@ function start() {
|
|
23
23
|
this.userGuid = result.user.user_guid;
|
24
24
|
}
|
25
25
|
catch (error) {
|
26
|
-
|
26
|
+
// console.log(this.auth);
|
27
|
+
if (!this.auth)
|
27
28
|
throw new Error("robot has any error" + error.message);
|
28
29
|
let phone_number = yield input_1.default.text("Phone Number: ");
|
29
30
|
let is_phone_number_true = true;
|
@@ -0,0 +1,61 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
+
});
|
10
|
+
};
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
+
};
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
+
const fluent_ffmpeg_1 = __importDefault(require("fluent-ffmpeg"));
|
16
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
17
|
+
const path_1 = __importDefault(require("path"));
|
18
|
+
const os_1 = __importDefault(require("os"));
|
19
|
+
const sharp_1 = __importDefault(require("sharp"));
|
20
|
+
class ThumbnailGenerator {
|
21
|
+
static fromVideo(videoPath) {
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
23
|
+
const tempImagePath = path_1.default.join(os_1.default.tmpdir(), `thumbnail_${Date.now()}.png`);
|
24
|
+
try {
|
25
|
+
yield new Promise((resolve, reject) => {
|
26
|
+
(0, fluent_ffmpeg_1.default)(videoPath)
|
27
|
+
.on("end", () => resolve(undefined))
|
28
|
+
.on("error", reject)
|
29
|
+
.screenshots({
|
30
|
+
count: 1,
|
31
|
+
timemarks: ["00:00:00.000"],
|
32
|
+
filename: path_1.default.basename(tempImagePath),
|
33
|
+
folder: path_1.default.dirname(tempImagePath),
|
34
|
+
size: "320x?",
|
35
|
+
});
|
36
|
+
});
|
37
|
+
const thumbnailBuffer = yield promises_1.default.readFile(tempImagePath);
|
38
|
+
const base64Thumbnail = thumbnailBuffer.toString("base64");
|
39
|
+
yield promises_1.default.unlink(tempImagePath);
|
40
|
+
return base64Thumbnail;
|
41
|
+
}
|
42
|
+
catch (error) {
|
43
|
+
console.error("Error generating video thumbnail:", error);
|
44
|
+
throw error;
|
45
|
+
}
|
46
|
+
});
|
47
|
+
}
|
48
|
+
static fromImage(imagePath_1) {
|
49
|
+
return __awaiter(this, arguments, void 0, function* (imagePath, width = 320) {
|
50
|
+
try {
|
51
|
+
const buffer = yield (0, sharp_1.default)(imagePath).resize(width).toBuffer();
|
52
|
+
return buffer.toString("base64");
|
53
|
+
}
|
54
|
+
catch (error) {
|
55
|
+
console.error("Error generating image thumbnail:", error);
|
56
|
+
throw error;
|
57
|
+
}
|
58
|
+
});
|
59
|
+
}
|
60
|
+
}
|
61
|
+
exports.default = ThumbnailGenerator;
|
package/rubjs/network/index.d.ts
CHANGED
@@ -25,5 +25,13 @@ declare class Network {
|
|
25
25
|
handleConnect(): Promise<void>;
|
26
26
|
resetConnection(): Promise<void>;
|
27
27
|
handleMessage(message: string): Promise<void>;
|
28
|
+
upload_file(file: Buffer<ArrayBufferLike> | string, mime?: string | null, fileName?: string | null, chunk?: number, callback?: any): Promise<{
|
29
|
+
mime: string;
|
30
|
+
size: number;
|
31
|
+
dc_id: string;
|
32
|
+
file_id: string;
|
33
|
+
file_name: string;
|
34
|
+
access_hash_rec: string;
|
35
|
+
}>;
|
28
36
|
}
|
29
37
|
export default Network;
|
package/rubjs/network/index.js
CHANGED
@@ -1,4 +1,37 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
15
|
+
}) : function(o, v) {
|
16
|
+
o["default"] = v;
|
17
|
+
});
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
19
|
+
var ownKeys = function(o) {
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
21
|
+
var ar = [];
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
23
|
+
return ar;
|
24
|
+
};
|
25
|
+
return ownKeys(o);
|
26
|
+
};
|
27
|
+
return function (mod) {
|
28
|
+
if (mod && mod.__esModule) return mod;
|
29
|
+
var result = {};
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
31
|
+
__setModuleDefault(result, mod);
|
32
|
+
return result;
|
33
|
+
};
|
34
|
+
})();
|
2
35
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
36
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
37
|
return new (P || (P = Promise))(function (resolve, reject) {
|
@@ -16,6 +49,8 @@ const axios_1 = __importDefault(require("axios"));
|
|
16
49
|
const ws_1 = __importDefault(require("ws"));
|
17
50
|
const crypto_1 = __importDefault(require("../crypto"));
|
18
51
|
const https_1 = __importDefault(require("https"));
|
52
|
+
const fs = __importStar(require("fs"));
|
53
|
+
const path = __importStar(require("path"));
|
19
54
|
class Network {
|
20
55
|
constructor(client) {
|
21
56
|
this.heartbeatInterval = null;
|
@@ -157,7 +192,7 @@ class Network {
|
|
157
192
|
if (!messageData)
|
158
193
|
return;
|
159
194
|
const isValid = filters.length === 0 ||
|
160
|
-
filters.every((filter) =>
|
195
|
+
filters.every((filter) => filter(messageData));
|
161
196
|
if (isValid) {
|
162
197
|
yield callback(messageData);
|
163
198
|
}
|
@@ -168,5 +203,80 @@ class Network {
|
|
168
203
|
}
|
169
204
|
});
|
170
205
|
}
|
206
|
+
upload_file(file_1) {
|
207
|
+
return __awaiter(this, arguments, void 0, function* (file, mime = null, fileName = null, chunk = 1048576, callback = null) {
|
208
|
+
if (typeof file === "string") {
|
209
|
+
if (!fs.existsSync(file))
|
210
|
+
throw new Error("File not found in the given path");
|
211
|
+
if (!fileName)
|
212
|
+
fileName = path.basename(file);
|
213
|
+
file = yield fs.promises.readFile(file);
|
214
|
+
}
|
215
|
+
else if (!Buffer.isBuffer(file))
|
216
|
+
throw new TypeError("File argument must be a file path or bytes");
|
217
|
+
if (!fileName)
|
218
|
+
throw new Error("File name is not set");
|
219
|
+
if (!mime)
|
220
|
+
mime = fileName.split(".").pop() || "";
|
221
|
+
let result = yield this.client.request_send_file(fileName, file.length, mime);
|
222
|
+
let response;
|
223
|
+
let id = result.id;
|
224
|
+
let index = 0;
|
225
|
+
let dc_id = result.dc_id;
|
226
|
+
let total = Math.ceil(file.length / chunk);
|
227
|
+
let upload_url = result.upload_url;
|
228
|
+
let access_hash_send = result.access_hash_send;
|
229
|
+
while (index < total) {
|
230
|
+
let data = file.slice(index * chunk, index * chunk + chunk);
|
231
|
+
try {
|
232
|
+
response = yield this.session.post(upload_url, data, {
|
233
|
+
headers: {
|
234
|
+
auth: this.client.auth,
|
235
|
+
"file-id": id,
|
236
|
+
"total-part": total.toString(),
|
237
|
+
"part-number": (index + 1).toString(),
|
238
|
+
"chunk-size": data.length.toString(),
|
239
|
+
"access-hash-send": access_hash_send,
|
240
|
+
},
|
241
|
+
});
|
242
|
+
if (response.data.status === "ERROR_TRY_AGAIN") {
|
243
|
+
console.log("Retrying upload...");
|
244
|
+
result = yield this.client.request_send_file(fileName, file.length, mime);
|
245
|
+
id = result.id;
|
246
|
+
index = 0;
|
247
|
+
dc_id = result.dc_id;
|
248
|
+
total = Math.ceil(file.length / chunk);
|
249
|
+
upload_url = result.upload_url;
|
250
|
+
access_hash_send = result.access_hash_send;
|
251
|
+
continue;
|
252
|
+
}
|
253
|
+
if (callback) {
|
254
|
+
try {
|
255
|
+
callback(file.length, index * chunk);
|
256
|
+
}
|
257
|
+
catch (err) {
|
258
|
+
console.error("Callback error:", err);
|
259
|
+
}
|
260
|
+
}
|
261
|
+
index++;
|
262
|
+
}
|
263
|
+
catch (error) {
|
264
|
+
console.error("Upload error:", error);
|
265
|
+
yield new Promise((resolve) => setTimeout(resolve, 5000));
|
266
|
+
}
|
267
|
+
if (response.data.status === "OK" && response.data.status_det === "OK") {
|
268
|
+
return {
|
269
|
+
mime,
|
270
|
+
size: file.length,
|
271
|
+
dc_id,
|
272
|
+
file_id: id,
|
273
|
+
file_name: fileName,
|
274
|
+
access_hash_rec: response.data.data.access_hash_rec,
|
275
|
+
};
|
276
|
+
}
|
277
|
+
throw new Error(response.data.status_det);
|
278
|
+
}
|
279
|
+
});
|
280
|
+
}
|
171
281
|
}
|
172
282
|
exports.default = Network;
|
package/rubjs/utils/filters.d.ts
CHANGED
@@ -1,26 +1,17 @@
|
|
1
1
|
declare const Filters: {
|
2
2
|
findKey: (message: any, key: any) => any;
|
3
3
|
guidType: (message: any, startWith: any) => boolean;
|
4
|
-
is_reply: (message: any) =>
|
5
|
-
is_edited: (message: any) =>
|
6
|
-
is_link: (message: any) =>
|
7
|
-
is_text: (message: any) =>
|
8
|
-
is_group: (message: any) =>
|
9
|
-
is_channel: (message: any) =>
|
10
|
-
is_private: (message: any) =>
|
11
|
-
is_froward: (message: any) =>
|
12
|
-
is_file_inline: (message: any) =>
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
is_video: (message: any) => Promise<boolean>;
|
17
|
-
is_voice: (message: any) => Promise<boolean>;
|
18
|
-
is_gif: (message: any) => Promise<boolean>;
|
19
|
-
is_audio: (message: any) => Promise<boolean>;
|
20
|
-
is_location: (message: any) => Promise<boolean>;
|
21
|
-
is_contact: (message: any) => Promise<boolean>;
|
22
|
-
is_poll: (message: any) => Promise<boolean>;
|
23
|
-
is_live: (message: any) => Promise<boolean>;
|
24
|
-
is_event: (message: any) => Promise<boolean>;
|
4
|
+
is_reply: (message: any) => boolean;
|
5
|
+
is_edited: (message: any) => boolean;
|
6
|
+
is_link: (message: any) => any;
|
7
|
+
is_text: (message: any) => boolean;
|
8
|
+
is_group: (message: any) => boolean;
|
9
|
+
is_channel: (message: any) => boolean;
|
10
|
+
is_private: (message: any) => boolean;
|
11
|
+
is_froward: (message: any) => boolean;
|
12
|
+
is_file_inline: (message: any) => boolean;
|
13
|
+
is_poll: (message: any) => boolean;
|
14
|
+
is_live: (message: any) => boolean;
|
15
|
+
is_event: (message: any) => boolean;
|
25
16
|
};
|
26
17
|
export default Filters;
|
package/rubjs/utils/filters.js
CHANGED
@@ -1,13 +1,4 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
3
|
const Filters = {
|
13
4
|
findKey: (message, key) => {
|
@@ -35,12 +26,13 @@ const Filters = {
|
|
35
26
|
return undefined;
|
36
27
|
},
|
37
28
|
guidType: (message, startWith) => {
|
38
|
-
|
39
|
-
|
29
|
+
let result = Filters.findKey(message, "object_guid");
|
30
|
+
const resultData = result && result.startsWith(startWith);
|
31
|
+
return resultData;
|
40
32
|
},
|
41
|
-
is_reply: (message) =>
|
42
|
-
is_edited: (message) =>
|
43
|
-
is_link: (message) =>
|
33
|
+
is_reply: (message) => !!Filters.findKey(message, "reply_to_message_id"),
|
34
|
+
is_edited: (message) => !!Filters.findKey(message, "is_edited"),
|
35
|
+
is_link: (message) => {
|
44
36
|
const link = Filters.findKey(message, "text");
|
45
37
|
if (!link)
|
46
38
|
return false;
|
@@ -49,24 +41,24 @@ const Filters = {
|
|
49
41
|
return (link.includes("http") ||
|
50
42
|
RUBIKA_LINK_PATTERN.test(link) ||
|
51
43
|
USERNAME_PATTERN.test(link));
|
52
|
-
}
|
53
|
-
is_text: (message) =>
|
54
|
-
is_group: (message) =>
|
55
|
-
is_channel: (message) =>
|
56
|
-
is_private: (message) =>
|
57
|
-
is_froward: (message) =>
|
58
|
-
is_file_inline: (message) =>
|
59
|
-
is_file: (message) =>
|
60
|
-
is_photo: (message) =>
|
61
|
-
is_sticker: (message) =>
|
62
|
-
is_video: (message) =>
|
63
|
-
is_voice: (message) =>
|
64
|
-
is_gif: (message) =>
|
65
|
-
is_audio: (message) =>
|
66
|
-
is_location: (message) =>
|
67
|
-
is_contact: (message) =>
|
68
|
-
is_poll: (message) =>
|
69
|
-
is_live: (message) =>
|
70
|
-
is_event: (message) =>
|
44
|
+
},
|
45
|
+
is_text: (message) => !!Filters.findKey(message, "text"),
|
46
|
+
is_group: (message) => Filters.guidType(message, "g0"),
|
47
|
+
is_channel: (message) => Filters.guidType(message, "c0"),
|
48
|
+
is_private: (message) => Filters.guidType(message, "u0"),
|
49
|
+
is_froward: (message) => !!Filters.findKey(message, "forwarded_from"),
|
50
|
+
is_file_inline: (message) => !!Filters.findKey(message, "file_inline"),
|
51
|
+
// is_file: (message) => !!Filters.findKey(message, "File"),
|
52
|
+
// is_photo: (message) => !!Filters.findKey(message, "Image"),
|
53
|
+
// is_sticker: (message) => !!Filters.findKey(message, "Sticker"),
|
54
|
+
// is_video: (message) => !!Filters.findKey(message, "Video"),
|
55
|
+
// is_voice: (message) => !!Filters.findKey(message, "Voice"),
|
56
|
+
// is_gif: (message) => !!Filters.findKey(message, "Gif"),
|
57
|
+
// is_audio: (message) => !!Filters.findKey(message, "Music"),
|
58
|
+
// is_location: (message) => !!Filters.findKey(message, "Location"),
|
59
|
+
// is_contact: (message) => !!Filters.findKey(message, "ContactMessage"),
|
60
|
+
is_poll: (message) => !!Filters.findKey(message, "poll"),
|
61
|
+
is_live: (message) => !!Filters.findKey(message, "live_data"),
|
62
|
+
is_event: (message) => !!Filters.findKey(message, "event_data"),
|
71
63
|
};
|
72
64
|
exports.default = Filters;
|
package/rubjs/types/index.d.ts
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
import UserInfo from "./get_user_info";
|
2
|
-
import SendCode from "./send_code";
|
3
|
-
import SignIn from "./sign_in";
|
4
|
-
import FilterOption from "./filters_optiom";
|
5
|
-
import MessageUpdate from "./message_update";
|
6
|
-
import ChatUpdates from "./chat_updates";
|
7
|
-
import ShowNotifications from "./show_notifications";
|
8
|
-
import ShowActivities from "./show_activities";
|
9
|
-
export { UserInfo, SendCode, SignIn, FilterOption, MessageUpdate, ChatUpdates, ShowNotifications, ShowActivities };
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/package/rubjs/{types/chat_updates.js → methods/messages/types/action_on_message_reaction.js}
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
/package/rubjs/{types/show_notifications.js → methods/messages/types/get_messages_interval.js}
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|