Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

350
Vistas
Error de Discord.js Tenor API [Mostrando imagen de Embed]

Estoy usando la API de Tenor para mostrar un gif aleatorio en una inserción en Discord.js. Hice todo correctamente, sin embargo, la imagen no se carga.

Aquí está mi código:

 require('dotenv').config(); const Discord = require('discord.js'); const fetch = require('node-fetch') module.exports = { name: 'tenor', category: 'misc', aliases: ['gif', 't'], async execute(message) { const url = `https://g.tenor.com/v1/search?q=Anime_Kiss&key=${process.env.TENOR}&limit=20` let response = await fetch(url) let mom = await response.json(); const makerandom = Math.floor(Math.random() * mom.results.length); let embed = new Discord.MessageEmbed() .setImage(mom.results[makerandom].itemurl) message.channel.send({ embeds: [embed]}) } };

Esto es lo que surge:

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Es porque itemurl no es un enlace directo al archivo, sino la URL completa para ver la publicación en tenor.com. En su lugar, debe usar la tecla media . Es una matriz de diccionarios con el formato (como gif , mp4 , webm , etc.) como clave y un objeto multimedia (con claves como size , duration y url ) como valor. Significa que puede obtener la URL de la imagen gif usando results[<random index>].media[0].gif.url .

He actualizado tu código, ahora funciona como se esperaba:

 require('dotenv').config(); const Discord = require('discord.js'); const fetch = require('node-fetch'); module.exports = { name: 'tenor', category: 'misc', aliases: ['gif', 't'], async execute(message) { let url = `https://g.tenor.com/v1/search?q=Anime_Kiss&key=${process.env.TENOR}&limit=20`; try { let response = await fetch(url); let { results } = await response.json(); let randomResult = results[Math.floor(Math.random() * results.length)]; let { gif } = randomResult.media[0]; let embed = new Discord.MessageEmbed().setImage(gif.url); message.channel.send({ embeds: [embed] }); } catch (err) { console.log(err); message.channel.send('Oops, there was an error'); } }, };

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda