forked from Snorfield/Train-Your-Own-Prediction-Model
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathparse.js
More file actions
54 lines (30 loc) · 1.5 KB
/
parse.js
File metadata and controls
54 lines (30 loc) · 1.5 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
const fs = require('fs');
const path = require('path');
function parse(config, channels) {
let output = [];
let identifiers = Object.keys(channels);
console.log(`[*] Found ${identifiers.length} channels`);
let messageNumber = 0;
for (const id of identifiers) {
const channelFile = path.join(config.messagesPath, `c${id}`, 'channel.json');
if (!fs.existsSync(channelFile)) continue;
const channelData = JSON.parse(fs.readFileSync(channelFile, "utf8"));
if (config.filteredChannels.includes(id)) continue;
if (config.filteredThreads.includes(id)) continue;
if ((channelData.type === 'GROUP_DM' && config.filterGroupChats) ||
(channelData.type === 'DM' && config.filterDms)) continue;
if (!channelData.guild?.id || config.filteredServers.includes(channelData.guild.id)) continue;
const messageFile = path.join(config.messagesPath, `c${id}`, 'messages.json');
if (!fs.existsSync(messageFile)) continue;
const messages = JSON.parse(fs.readFileSync(messageFile, "utf8"));
for (const message of messages) {
if (message.Contents) {
output.push(message.Contents);
messageNumber++;
}
}
}
console.log(`[+] Messages successfully parsed, ${messageNumber} messages found and saved`);
fs.writeFileSync("output.json", JSON.stringify(output), "utf8");
}
module.exports = parse;