Bladeren bron

Add image statistics collecting

denikson 5 jaren geleden
bovenliggende
commit
b9577d6bf8
3 gewijzigde bestanden met toevoegingen van 13 en 0 verwijderingen
  1. 1 0
      .gitignore
  2. 11 0
      main.js
  3. 1 0
      package.json

+ 1 - 0
.gitignore

@@ -31,3 +31,4 @@ node_modules
 token.js
 package-lock.json
 db.json
+imagestats.csv

+ 11 - 0
main.js

@@ -4,6 +4,8 @@ const db = require("./db.js");
 const RSSParser = require("rss-parser");
 const interval = require("interval-promise");
 const TurndownService = require("turndown");
+const fs = require("fs");
+const isImage = require("is-image");
 
 const turndown = new TurndownService();
 turndown.addRule("image", {
@@ -15,6 +17,8 @@ turndown.addRule("link", {
     replacement: (content, node) => node.getAttribute("href")
 });
 
+const statsFile = fs.openSync("./imagestats.csv", "a");
+
 const client = new Discord.Client();
 const parser = new RSSParser();
 const RSS_UPDATE_INTERVAL_MIN = 5;
@@ -143,6 +147,13 @@ client.on("ready", () => {
 });
 
 client.on("message", m => {
+    let imagesCount = m.attachments.filter(v => isImage(v.filename)).size;
+
+    if(imagesCount > 0) {
+        let now = new Date();
+        fs.writeSync(statsFile, `${now.getUTCFullYear()}-${now.getUTCMonth()+1}-${now.getUTCDate()} ${now.getUTCHours()}:${now.getUTCMinutes()};${imagesCount}\n`);
+    }
+
     if (m.author.id == client.user.id) return;
 
     let content = m.cleanContent.trim();

+ 1 - 0
package.json

@@ -22,6 +22,7 @@
   "dependencies": {
     "discord.js": "^11.4.2",
     "interval-promise": "^1.2.0",
+    "is-image": "^2.0.0",
     "lowdb": "^1.0.0",
     "rss-parser": "^3.4.3",
     "turndown": "^5.0.1",