diff --git a/src/commands/codename.js b/src/commands/codename.js index 220f511..390760a 100644 --- a/src/commands/codename.js +++ b/src/commands/codename.js @@ -3,6 +3,7 @@ const { getStrings } = require('../plugins/checklang.js'); const { isOnSpamWatch } = require('../spamwatch/spamwatch.js'); const spamwatchMiddleware = require('../spamwatch/Middleware.js')(isOnSpamWatch); const axios = require('axios'); +const { verifyInput } = require('../plugins/verifyInput.js'); async function getDeviceList() { try { @@ -23,12 +24,10 @@ module.exports = (bot) => { bot.command(['codename', 'whatis'], spamwatchMiddleware, async (ctx) => { const userInput = ctx.message.text.split(" ").slice(1).join(" "); const Strings = getStrings(ctx.from.language_code); - - if (!userInput) { - ctx.reply(Strings.codenameCheck.noCodename, { - parse_mode: "Markdown", - reply_to_message_id: ctx.message.message_id - }); + const { noCodename } = Strings.codenameCheck + + if(verifyInput(ctx, userInput, noCodename)){ + return; } const jsonRes = await getDeviceList() diff --git a/src/commands/http.js b/src/commands/http.js index 672a7c0..1ee383c 100644 --- a/src/commands/http.js +++ b/src/commands/http.js @@ -3,19 +3,18 @@ const { getStrings } = require('../plugins/checklang.js'); const { isOnSpamWatch } = require('../spamwatch/spamwatch.js'); const spamwatchMiddleware = require('../spamwatch/Middleware.js')(isOnSpamWatch); const axios = require('axios'); +const { verifyInput } = require('../plugins/verifyInput.js'); module.exports = (bot) => { bot.command("http", spamwatchMiddleware, async (ctx) => { const Strings = getStrings(ctx.from.language_code); const userInput = ctx.message.text.split(' ')[1]; const apiUrl = Resources.httpApi; + const { invalidCode } = Strings.httpCodes - if (!userInput || isNaN(userInput)) { - return ctx.reply(Strings.httpCodes.invalidCode, { - parse_mode: 'Markdown', - reply_to_message_id: ctx.message.message_id - }); - }; + if (verifyInput(ctx, userInput, invalidCode, true)) { + return; + } try { const response = await axios.get(apiUrl); @@ -50,12 +49,10 @@ module.exports = (bot) => { bot.command("httpcat", spamwatchMiddleware, async (ctx) => { const Strings = getStrings(ctx.from.language_code); const userInput = ctx.message.text.split(' ').slice(1).join(' ').replace(/\s+/g, ''); - - if (!userInput || isNaN(userInput)) { - return ctx.reply(Strings.httpCodes.invalidCode, { - parse_mode: 'Markdown', - reply_to_message_id: ctx.message.message_id - }); + const { invalidCode } = Strings.httpCodes + + if (verifyInput(ctx, userInput, invalidCode, true)) { + return; } const apiUrl = `${Resources.httpCatApi}${userInput}`; diff --git a/src/commands/ponyapi.js b/src/commands/ponyapi.js index 8f1239c..345d864 100644 --- a/src/commands/ponyapi.js +++ b/src/commands/ponyapi.js @@ -3,6 +3,7 @@ const { getStrings } = require('../plugins/checklang.js'); const { isOnSpamWatch } = require('../spamwatch/spamwatch.js'); const spamwatchMiddleware = require('../spamwatch/Middleware.js')(isOnSpamWatch); const axios = require("axios"); +const { verifyInput } = require('../plugins/verifyInput.js'); function capitalizeFirstLetter(string) { return string.charAt(0).toUpperCase() + string.slice(1); @@ -22,14 +23,11 @@ module.exports = (bot) => { bot.command("mlpchar", spamwatchMiddleware, async (ctx) => { const Strings = getStrings(ctx.from.language_code); const userInput = ctx.message.text.split(' ').slice(1).join(' ').replace(" ", "+"); + const { noCharName } = Strings.ponyApi - if (!userInput) { - ctx.reply(Strings.ponyApi.noCharName, { - parse_mode: 'Markdown', - reply_to_message_id: ctx.message.message_id - }); + if (verifyInput(ctx, userInput, noCharName)) { return; - }; + } const capitalizedInput = capitalizeFirstLetter(userInput); const apiUrl = `${Resources.ponyApi}/character/${capitalizedInput}`; @@ -98,13 +96,11 @@ module.exports = (bot) => { const Strings = getStrings(ctx.from.language_code); const userInput = ctx.message.text.split(' ').slice(1).join(' ').replace(" ", "+"); - if (!userInput) { - ctx.reply(Strings.ponyApi.noEpisodeNum, { - parse_mode: 'Markdown', - reply_to_message_id: ctx.message.message_id - }); + const { noEpisodeNum } = Strings.ponyApi + + if (verifyInput(ctx, userInput, noEpisodeNum, true)) { return; - }; + } const apiUrl = `${Resources.ponyApi}/episode/by-overall/${userInput}`; @@ -167,11 +163,9 @@ module.exports = (bot) => { const Strings = getStrings(ctx.from.language_code); const userInput = ctx.message.text.split(' ').slice(1).join(' ').replace(" ", "+"); - if (!userInput) { - ctx.reply(Strings.ponyApi.noComicName, { - parse_mode: 'Markdown', - reply_to_message_id: ctx.message.message_id - }); + const { noComicName } = Strings.ponyApi + + if (verifyInput(ctx, userInput, noComicName)) { return; }; diff --git a/src/commands/weather.js b/src/commands/weather.js index ad8a5f0..caf420b 100644 --- a/src/commands/weather.js +++ b/src/commands/weather.js @@ -7,6 +7,7 @@ const axios = require('axios'); const { getStrings } = require('../plugins/checklang.js'); const { isOnSpamWatch } = require('../spamwatch/spamwatch.js'); const spamwatchMiddleware = require('../spamwatch/Middleware.js')(isOnSpamWatch); +const { verifyInput } = require('../plugins/verifyInput.js'); const statusEmojis = { 0: '⛈', 1: '⛈', 2: '⛈', 3: '⛈', 4: '⛈', 5: '🌨', 6: '🌨', 7: '🌨', @@ -35,12 +36,10 @@ module.exports = (bot) => { const userLang = ctx.from.language_code || "en-US"; const Strings = getStrings(userLang); const userInput = ctx.message.text.split(' ').slice(1).join(' '); + const { provideLocation } = Strings.weatherStatus - if (!userInput) { - return ctx.reply(Strings.weatherStatus.provideLocation, { - parse_mode: "Markdown", - reply_to_message_id: ctx.message.message_id - }); + if (verifyInput(ctx, userInput, provideLocation)) { + return; } const location = userInput; @@ -95,7 +94,7 @@ module.exports = (bot) => { .replace('{windSpeed}', windSpeed) .replace('{speedUnit}', speedUnit); - ctx.reply(weatherMessage, { + ctx.reply(weatherMessage, { parse_mode: "Markdown", reply_to_message_id: ctx.message.message_id });