|
@@ -5,11 +5,20 @@ const RSSParser = require("rss-parser");
|
|
|
const interval = require("interval-promise");
|
|
|
const TurndownService = require("turndown");
|
|
|
const fs = require("fs");
|
|
|
-const isImage = require("is-image");
|
|
|
const Jimp = require("jimp");
|
|
|
const Clarifai = require("clarifai");
|
|
|
const ClarifaiTOKEN = require("./clarifai_keys.js");
|
|
|
|
|
|
+const VALID_EXTENSIONS = new Set([
|
|
|
+ "png",
|
|
|
+ "jpg",
|
|
|
+ "jpeg",
|
|
|
+ "tiff",
|
|
|
+ "tif",
|
|
|
+ "bmp",
|
|
|
+ "webp"
|
|
|
+]);
|
|
|
+
|
|
|
const clarifaiApp = new Clarifai.App({
|
|
|
apiKey: ClarifaiTOKEN
|
|
|
});
|
|
@@ -32,6 +41,14 @@ const RSS_UPDATE_INTERVAL_MIN = 5;
|
|
|
|
|
|
const REACT_PROBABILITY = 0.6;
|
|
|
|
|
|
+function isValidImage(fileName) {
|
|
|
+ let extPosition = fileName.lastIndexOf(".");
|
|
|
+ if(extPosition < 0)
|
|
|
+ return false;
|
|
|
+ let ext = fileName.substring(extPosition + 1).toLowerCase();
|
|
|
+ return VALID_EXTENSIONS.has(ext);
|
|
|
+}
|
|
|
+
|
|
|
function getThreadId(url) {
|
|
|
let result = url.substring(url.lastIndexOf(".") + 1);
|
|
|
if(result.endsWith("/"))
|
|
@@ -220,7 +237,7 @@ client.on("ready", () => {
|
|
|
client.on("message", m => {
|
|
|
if (m.author.id == client.user.id) return;
|
|
|
|
|
|
- let imagesCount = m.attachments.filter(v => isImage(v.filename)).size;
|
|
|
+ let imagesCount = m.attachments.filter(v => isValidImage(v.filename)).size;
|
|
|
|
|
|
if(imagesCount > 0) {
|
|
|
let now = new Date();
|