HTTP codes (/http)

This commit is contained in:
Lucas Gabriel 2024-10-14 20:51:05 -03:00
parent 911c0d41bb
commit fc172854e1
No known key found for this signature in database
GPG Key ID: D9B075FC6DC93985
4 changed files with 65 additions and 6 deletions

47
commands/http.js Normal file
View File

@ -0,0 +1,47 @@
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("http", spamwatchMiddleware, async (ctx) => {
const Strings = getStrings(ctx.from.language_code);
const userInput = ctx.message.text.split(' ')[1];
const apiUrl = "https://status.js.org/codes.json";
if (!userInput || isNaN(userInput)) {
return ctx.reply(Strings.httpCodeInvalid, {
parse_mode: 'Markdown',
reply_to_message_id: ctx.message.message_id
});
};
try {
const response = await axios.get(apiUrl);
const data = response.data;
const codesArray = Array.isArray(data) ? data : Object.values(data);
const codeInfo = codesArray.find(item => item.code === parseInt(userInput));
if (codeInfo) {
const message = Strings.httpCodeResult
.replace("{code}", codeInfo.code)
.replace("{description}", codeInfo.description);
await ctx.reply(message, {
parse_mode: 'Markdown',
reply_to_message_id: ctx.message.message_id
});
} else {
await ctx.reply(Strings.httpCodeNotFound, {
parse_mode: 'Markdown',
reply_to_message_id: ctx.message.message_id
});
};
} catch (error) {
const message = Strings.httpCodeErr.replace("{error}", error);
ctx.reply(message, {
parse_mode: 'Markdown',
reply_to_message_id: ctx.message.message_id
});
};
});
};

View File

@ -48,7 +48,7 @@
"mainCommands": "Main commands",
"mainCommandsDesc": "*Main commands*\n\n- /help: Show bot's help\n- /start: Start the bot\n- /privacy: Read the bot's Privacy Policy",
"usefulCommands": "Useful commands",
"usefulCommandsDesc": "*Useful commands*\n\n- /chatinfo: Send information about the group\n- /userinfo: Send information about yourself\n- /d | /device `<model>`: Search for a device on GSMArena and show its specs.\n- /weather | /clima `<city>`: See weather status for a specific location.\n- /modarchive | /tma `<module id>`: Download a module from The Mod Archive.\n- /wiki <wiki page> (WIP): Displays content from a Wikipedia page, converting some things to a more familiar format on Telegram.",
"usefulCommandsDesc": "*Useful commands*\n\n- /chatinfo: Send information about the group\n- /userinfo: Send information about yourself\n- /d | /device `<model>`: Search for a device on GSMArena and show its specs.\n- /weather | /clima `<city>`: See weather status for a specific location.\n- /modarchive | /tma `<module id>`: Download a module from The Mod Archive.\n- /wiki `<wiki page>` (WIP): Displays content from a Wikipedia page, converting some things to a more familiar format on Telegram.\n- /http `<HTTP code>`: Send details about a specific HTTP code. Example: `/http 404`",
"funnyCommands": "Funny commands",
"funnyCommandsDesc": "*Funny commands*\n\n- /gay: Check if you are gay\n- /furry: Check if you are a furry\n- /random: Pick a random number between 0-10",
"interactiveEmojis": "Interactive emojis",
@ -77,5 +77,9 @@
"catGifErr": "Sorry, but I couldn't get the cat GIF you wanted.",
"quoteResult": "Here is a random quote for you:",
"quoteErr": "Sorry, but something went wrong while displaying the quote.",
"dogImgErr": "Sorry, but I couldn't get the dog photo you wanted."
"dogImgErr": "Sorry, but I couldn't get the dog photo you wanted.",
"httpCodeInvalid": "Please enter a valid HTTP code.",
"httpCodeErr": "An error occurred while fetching the HTTP code.",
"httpCodeNotFound": "HTTP code not found.",
"httpCodeResult": "*HTTP Code*: {code}\n*Description*: {description}"
}

View File

@ -48,7 +48,7 @@
"mainCommands": "Comandos principais",
"mainCommandsDesc": "*Comandos principais*\n\n- /help: Exibe a ajuda do bot\n- /start: Inicia o bot\n- /privacy: Leia a política de privacidade do bot",
"usefulCommands": "Comandos úteis",
"usefulCommandsDesc": "*Comandos úteis*\n\n- /chatinfo: Envia informações sobre o grupo\n- /userinfo: Envia informações sobre você\n- /d | /device `<modelo>`: Pesquisa um dispositivo no GSMArena e mostra suas especificações.\n- /weather | /clima `<cidade>`: Veja o status do clima para uma localização específica\n- /modarchive | /tma `<id do módulo>`: Baixa um módulo do The Mod Archive.\n- /wiki <página da wiki> (WIP): Exibe conteúdo de uma página da Wikipedia, convertendo algumas coisas para um formato mais familiar no Telegram.",
"usefulCommandsDesc": "*Comandos úteis*\n\n- /chatinfo: Envia informações sobre o grupo\n- /userinfo: Envia informações sobre você\n- /d | /device `<modelo>`: Pesquisa um dispositivo no GSMArena e mostra suas especificações.\n- /weather | /clima `<cidade>`: Veja o status do clima para uma localização específica\n- /modarchive | /tma `<id do módulo>`: Baixa um módulo do The Mod Archive.\n- /wiki `<página da wiki>` (WIP): Exibe conteúdo de uma página da Wikipedia, convertendo algumas coisas para um formato mais familiar no Telegram.\n- /http `<código HTTP>`: Envia detalhes sobre um código HTTP específico. Exemplo: `/http 404`",
"funnyCommands": "Comandos engraçados",
"funnyCommandsDesc": "*Comandos engraçados*\n\n- /gay: Verifique se você é gay\n- /furry: Verifique se você é furry\n- /random: Escolhe um número aleatório entre 0-10",
"interactiveEmojis": "Emojis interativos",
@ -77,5 +77,9 @@
"catGifErr": "Desculpe, mas não consegui obter o GIF 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.",
"dogImgErr": "Desculpe, mas não consegui obter a foto do cacbhorro que você queria."
"dogImgErr": "Desculpe, mas não consegui obter a foto do cacbhorro que você queria.",
"httpCodeInvalid": "Por favor, insira um código HTTP válido.",
"httpCodeErr": "Ocorreu um erro ao buscar o código HTTP.",
"httpCodeNotFound": "Código HTTP não encontrado.",
"httpCodeResult": "*Código HTTP*: {code}\n*Descrição*: {description}"
}

View File

@ -48,7 +48,7 @@
"mainCommands": "Comandos principales",
"mainCommandsDesc": "*Comandos principales*\n\n- /help: Muestra la ayuda del bot\n- /start: Inicia el bot\n- /privacy: Lee la política de privacidad del bot",
"usefulCommands": "Comandos útiles",
"usefulCommandsDesc": "*Comandos útiles*\n\n- /chatinfo: Envía información sobre el grupo\n- /userinfo: Envía información sobre ti\n- /d | /device `<modelo>`: Busca un dispositivo en GSMArena y muestra sus especificaciones.\n- /weather | /clima `<ciudad>`: Ve el estado del clima para una ubicación específica\n- /modarchive | /tma `<id del módulo>`: Descarga un módulo del The Mod Archive.\n- /wiki <página de la wiki> (WIP): Muestra contenido de una página de Wikipedia, convirtiendo algunas cosas a un formato más familiar en Telegram.",
"usefulCommandsDesc": "*Comandos útiles*\n\n- /chatinfo: Envía información sobre el grupo\n- /userinfo: Envía información sobre ti\n- /d | /device `<modelo>`: Busca un dispositivo en GSMArena y muestra sus especificaciones.\n- /weather | /clima `<ciudad>`: Ve el estado del clima para una ubicación específica\n- /modarchive | /tma `<id del módulo>`: Descarga un módulo del The Mod Archive.\n- /wiki `<página de la wiki>` (WIP): Muestra contenido de una página de Wikipedia, convirtiendo algunas cosas a un formato más familiar en Telegram.\n- /http `<código HTTP>`: Envía detalles sobre un código HTTP específico. Ejemplo: `/http 404`",
"funnyCommands": "Comandos graciosos",
"funnyCommandsDesc": "*Comandos graciosos*\n\n- /gay: Verifica si eres gay\n- /furry: Verifica si eres furry\n- /random: Elige un número aleatorio entre 0-10",
"interactiveEmojis": "Emojis interactivos",
@ -77,5 +77,9 @@
"catGifErr": "Lo siento, pero no pude obtener el GIF 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.",
"dogImgErr": "Lo siento, pero no pude obtener la foto del perro que querías."
"dogImgErr": "Lo siento, pero no pude obtener la foto del perro que querías.",
"httpCodeInvalid": "Por favor, ingrese un código HTTP válido.",
"httpCodeErr": "Ocurrió un error al buscar el código HTTP.",
"httpCodeNotFound": "Código HTTP no encontrado.",
"httpCodeResult": "*Código HTTP*: {code}\n*Descripción*: {description}"
}