diff --git a/commands/quotes.js b/commands/quotes.js new file mode 100644 index 0000000..a634537 --- /dev/null +++ b/commands/quotes.js @@ -0,0 +1,29 @@ +const { getStrings } = require('../plugins/checklang.js'); +const { isOnSpamWatch } = require('../plugins/lib-spamwatch/spamwatch.js'); +const spamwatchMiddleware = require('../plugins/lib-spamwatch/Middleware.js')(isOnSpamWatch); +const axios = require('axios'); + +module.exports = (bot) => { + bot.command("quote", spamwatchMiddleware, async (ctx) => { + const Strings = getStrings(ctx.from.language_code); + + try { + const response = await axios.get('https://quotes-api-self.vercel.app/quote'); + const data = response.data; + const escapedQuote = data.quote.replace(/([_*~`>.!-])/g, '\\$1'); + const escapedAuthor = `- ${data.author}.`.replace(/([_*~`>.!-])/g, '\\$1'); + const escapedData = `${Strings.quoteResult}\n>*${escapedQuote}*\n_${escapedAuthor}_`; + + ctx.reply(escapedData, { + reply_to_message_id: ctx.message.message_id, + parse_mode: 'MarkdownV2' + }); + } catch (error) { + console.error(error); + ctx.reply(Strings.quoteErr, { + reply_to_message_id: ctx.message.id, + parse_mode: 'MarkdownV2' + }); + }; + }); +}; diff --git a/locales/english.json b/locales/english.json index 5f26cd3..1dfc9c8 100644 --- a/locales/english.json +++ b/locales/english.json @@ -72,5 +72,7 @@ "botUpdated": "Bot updated with success.\n\n```{result}```", "errorUpdatingBot": "Error updating bot\n\n{error}", "catImgErr": "Sorry, but I couldn't get the cat GIF you wanted.", - "catGifErr": "Sorry, but I couldn't get the cat photo you wanted." + "catGifErr": "Sorry, but I couldn't get the cat photo you wanted.", + "quoteResult": "Here is a random quote for you:", + "quoteErr": "Sorry, but something went wrong while displaying the quote." } \ No newline at end of file diff --git a/locales/portuguese.json b/locales/portuguese.json index 4f46f9d..8c17726 100644 --- a/locales/portuguese.json +++ b/locales/portuguese.json @@ -72,5 +72,7 @@ "botUpdated": "Bot atualizado com sucesso.\n\n```{result}```", "errorUpdatingBot": "Erro ao atualizar o bot\n\n{error}", "catImgErr": "Desculpe, mas não consegui obter o GIF do gato que você queria.", - "catGifErr": "Desculpe, mas não consegui obter a foto do gato que você queria." + "catGifErr": "Desculpe, mas não consegui obter a foto do gato que você queria.", + "quoteResult": "Aqui está uma citação aleatória pra você (em inglês):", + "quoteErr": "Desculpe, mas algo deu errado ao exibir a citação." } \ No newline at end of file diff --git a/locales/spanish.json b/locales/spanish.json index e7ccdb1..74b86dc 100644 --- a/locales/spanish.json +++ b/locales/spanish.json @@ -72,5 +72,7 @@ "botUpdated": "Bot actualizado con éxito.\n\n```{result}```", "errorUpdatingBot": "Error al actualizar el bot\n\n{error}", "catImgErr": "Lo siento, pero no pude obtener el GIF del gato que querías.", - "catGifErr": "Lo siento, pero no pude obtener la foto del gato que querías." + "catGifErr": "Lo siento, pero no pude obtener la foto del gato que querías.", + "quoteResult": "Aquí tienes una cita aleatoria para ti (en inglés):", + "quoteErr": "Lo siento, pero algo salió mal al mostrar la cita." } \ No newline at end of file