From 53c5473da82396ff17db18121e8945ac137b3765 Mon Sep 17 00:00:00 2001 From: Jordan Eldredge Date: Sat, 25 Apr 2020 01:39:03 -0400 Subject: [PATCH] Try review and deprecate approve/reject in favor of !review --- .../discord-bot/commands/approve.js | 34 ------------------- .../discord-bot/commands/reject.js | 34 ------------------- .../commands/{review.js => review.ts} | 20 ++++++----- 3 files changed, 12 insertions(+), 76 deletions(-) delete mode 100644 experiments/skin-database/discord-bot/commands/approve.js delete mode 100644 experiments/skin-database/discord-bot/commands/reject.js rename experiments/skin-database/discord-bot/commands/{review.js => review.ts} (65%) diff --git a/experiments/skin-database/discord-bot/commands/approve.js b/experiments/skin-database/discord-bot/commands/approve.js deleted file mode 100644 index 2ab7fc83..00000000 --- a/experiments/skin-database/discord-bot/commands/approve.js +++ /dev/null @@ -1,34 +0,0 @@ -const { approve, getStatus } = require("../../data/skins"); -const Utils = require("../utils"); -const { TWEET_BOT_CHANNEL_ID } = require("../../config"); - -async function handler(message, args) { - const [md5] = args; - const status = await getStatus(md5); - if (status !== "UNREVIEWED") { - await message.channel.send(`This skin has already been reviewed.`); - return; - } - await approve(md5); - const tweetBotChannel = message.client.channels.get(TWEET_BOT_CHANNEL_ID); - let filename = null; - await Utils.postSkin({ - md5, - title: (f) => { - // Hack to get access to the file name - filename = f; - return `Approve: ${f}`; - }, - dest: tweetBotChannel, - }); - await tweetBotChannel.send( - `${filename} was approved by ${message.author.username}` - ); -} - -module.exports = { - command: "approve", - handler, - usage: "", - description: "Approve a given skin to be Tweeted by the Twitter bot", -}; diff --git a/experiments/skin-database/discord-bot/commands/reject.js b/experiments/skin-database/discord-bot/commands/reject.js deleted file mode 100644 index 15d0dc5b..00000000 --- a/experiments/skin-database/discord-bot/commands/reject.js +++ /dev/null @@ -1,34 +0,0 @@ -const { reject, getStatus } = require("../../data/skins"); -const Utils = require("../utils"); -const { TWEET_BOT_CHANNEL_ID } = require("../../config"); - -async function handler(message, args) { - const [md5] = args; - const status = await getStatus(md5); - if (status !== "UNREVIEWED") { - await message.channel.send(`This skin has already been reviewed.`); - return; - } - await reject(md5); - const tweetBotChannel = message.client.channels.get(TWEET_BOT_CHANNEL_ID); - let filename = null; - await Utils.postSkin({ - md5, - title: (f) => { - // Hack to get access to the file name - filename = f; - return `Rejected: ${f}`; - }, - dest: tweetBotChannel, - }); - await tweetBotChannel.send( - `${filename} was rejected by ${message.author.username}` - ); -} - -module.exports = { - command: "reject", - handler, - usage: "", - description: "Reject a given skin from being Tweeted by the Twitter bot", -}; diff --git a/experiments/skin-database/discord-bot/commands/review.js b/experiments/skin-database/discord-bot/commands/review.ts similarity index 65% rename from experiments/skin-database/discord-bot/commands/review.js rename to experiments/skin-database/discord-bot/commands/review.ts index f9903a9d..a782f463 100644 --- a/experiments/skin-database/discord-bot/commands/review.js +++ b/experiments/skin-database/discord-bot/commands/review.ts @@ -1,7 +1,8 @@ -const Skins = require("../../data/skins"); -const Utils = require("../utils"); +import * as Skins from "../../data/skins"; +import * as Utils from "../utils"; +import { Message } from "discord.js"; -async function reviewSkin(message) { +async function reviewSkin(message: Message): Promise { const skin = await Skins.getSkinToReview(); if (skin == null) { throw new Error("No skins to review"); @@ -14,15 +15,16 @@ async function reviewSkin(message) { }); } -async function handler(message, args) { - let count = args[0] || 1; +async function handler(message: Message, args: [string]) { + let count = Number(args[0] || 1); if (count > 50) { - await message.channel.send(`You can only review up to ${count} skins at a time.`); - await message.channel.send(`Going to show ${count} skins to review`); + await message.channel.send( + `You can only review up to ${count} skins at a time.` + ); count = 50; } await message.channel.send(`Going to show ${count} skins to review.`); - let i = Number(count); + let i = count; while (i--) { await reviewSkin(message); } @@ -31,6 +33,8 @@ async function handler(message, args) { await message.channel.send( `Done reviewing ${count} skins. There are now ${tweetableCount} Tweetable skins. Thanks!` ); + } else { + await message.channel.send(`Thanks!`); } }