Recientemente hice un bot de Python Discord y quiero construir lo mismo con JavaScript. Soy totalmente nuevo en este idioma y no sé cómo agregaré el comando meme.
en la versión de Python, usé un sitio web heroukuapp para obtener memes de subreddit.
Así es como lo hice en Python-
if message.content == 'Show me some memes': content = get("https://meme-api.herokuapp.com/gimme").text data = json.loads(content,) meme = discord.Embed(title=f"{data['title']}", Color = discord.Color.random()).set_image(url=f"{data['url']}") await message.channel.send("MEMEY.....MEMEY.....MEMEY......\n") await message.channel.send(embed=meme)Quiero usar el mismo sitio web para mostrar memes en el bot JS (en forma de incrustaciones). Probé muchas API y vi muchos videos, pero aún así no pude usarlos.
Hasta ahora, esto es lo que he hecho en JavaScript-
case "Show me some memes": message.channel.send("MEMEY.....MEMEY.....MEMEY......\n") break;¿Alguien puede resolver mi consulta?
Gracias por ver mi publicación.
Puede usar got biblioteca de solicitud HTTPS basada en Node.js para solicitar la API y analizar aún más la respuesta y usar las cosas que necesita del cuerpo (alternativas - node-fetch (anteriormente snekfetch - módulo ESM))
Aquí hay un ejemplo:
const got = require("got"); const { MessageEmbed } = require("discord.js"); got("https://meme-api.herokuapp.com/gimme").then( (response) => { const data = JSON.parse(response.body); let meme = new MessageEmbed .setTitle(`${data['title']}`); .setColor("RANDOM"); .setImage(`${data['url']}`) message.channel.send({ content: "MEMEY..MEMEY...MEMEY...", embeds: [meme]}); });Esto es específicamente para discord.js v13 si tiene una versión inferior a 13, puede pasar directamente el objeto incrustado de esta manera:
message.channel.send(meme);