Skip to content

Commit 0e676a0

Browse files
committed
No longer excluding supporter/premium
1 parent 2c65bbe commit 0e676a0

File tree

1 file changed

+13
-22
lines changed

1 file changed

+13
-22
lines changed

src/feeds/AutoModManager.ts

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { ClientExt } from "../types/DiscordTypes";
99
import { IAutomodRule } from "../types/util";
1010
import { tall } from 'tall';
1111
import { DiscordBotUser, DummyNexusModsUser } from "../api/DiscordBotUser";
12-
import axios from "axios";
12+
import axios, { AxiosResponse } from "axios";
1313

1414
const pollTime: number = (1000*60*1); //1 mins
1515

@@ -240,16 +240,13 @@ async function analyseMod(mod: Partial<IMod>, rules: IAutomodRule[], user: Disco
240240
const anHourAgo = new Date(now.valueOf() - (60000 * 60))
241241

242242
// Check the user
243-
if (mod.uploader!.membershipRoles.length > 1) {
244-
// logMessage("Mod Uploaded by a Supporter or Premium user", {mod: mod.name, user: mod.uploader?.name, created: new Date(mod.createdAt || 0)})
245-
return { mod, flags };
246-
}
247-
else {
248-
if (new Date(mod.uploader!.joined).getTime() >= anHourAgo.getTime()) {
249-
// logMessage('New uploader', { user: mod.uploader, name: mod.name, anHourAgo, joined: new Date(mod.uploader!.joined) })
250-
flags.low.push('New account');
251-
}
252-
}
243+
// if (mod.uploader!.membershipRoles.length > 1) {
244+
// // logMessage("Mod Uploaded by a Supporter or Premium user", {mod: mod.name, user: mod.uploader?.name, created: new Date(mod.createdAt || 0)})
245+
// return { mod, flags };
246+
// }
247+
// else
248+
249+
if (new Date(mod.uploader!.joined).getTime() >= anHourAgo.getTime()) flags.low.push('New account');
253250

254251
if (mod.uploader!.modCount <= 1 && flags.low.includes('New account')) {
255252
if ((mod.description ?? '').length < 150) {
@@ -356,22 +353,16 @@ async function checkFilePreview(mod: Partial<IMod>, user: DiscordBotUser): Promi
356353

357354
// Check the content preview
358355
try {
359-
const request = await axios({
356+
const request: AxiosResponse<IPreviewDirectory, any> = await axios({
360357
url: latestFile.content_preview_link,
361358
transformResponse: (res) => JSON.parse(res),
362359
validateStatus: () => true,
363360
});
364361
// No content preview (there's always a link, but it's not always valid!)
365-
if (request.status == 404) flags.low.push('No content preview for latest file.')
362+
if (request.status === 404) flags.low.push('No content preview for latest file.')
363+
else if (request.status !== 200) flags.low.push(`Failed to get content preview. HTTP ERROR ${request.status}`);
366364
else {
367-
const allFiles: string[] = (request.data.children as Array<any>).reduce((prev, cur) => {
368-
if (cur.type === 'file') prev.push(cur.name);
369-
else if (cur.type === 'directory') {
370-
const flattened = flattenDirectory(cur);
371-
prev = [...prev, ...flattened]
372-
}
373-
return prev;
374-
}, []);
365+
const allFiles: string[] = flattenDirectory(request.data);
375366

376367
// Check if it's exclusively non-playable files
377368
const playableFiles = allFiles.filter(file => {
@@ -382,7 +373,7 @@ async function checkFilePreview(mod: Partial<IMod>, user: DiscordBotUser): Promi
382373
});
383374

384375
if (playableFiles.length === 0) {
385-
flags.high.push("Does not contain any playable files. Likely spam");
376+
flags.high.push("Does not contain any playable files. Likely spam.");
386377
}
387378

388379
}

0 commit comments

Comments
 (0)