¿Cómo puedo recopilar una foto enviada por un usuario y enviarla en una inserción? Estoy usando discord.js v13.
Tengo el siguiente código, pero img no es una URL de imagen:
interaction.reply({ content: 'Envia alguna imagen...' }).then(async () => { const atch_filter = (m) => !!m.attachments || m.startsWith('https'); const collected = await interaction.channel.awaitMessages({ filter: atch_filter, max: 1, }); var img = collected.first().url; const embed = new MessageEmbed() .setTitle('Foto recibida') .setImage(img) .setColor('BLUE'); interaction.editReply({ content: 'Listo!', embeds: [embed] }); });awaitMessages devuelve una colección de mensajes. Incluso si es un solo mensaje, todavía está en una colección. A medida que configura su filtro correctamente, el mensaje recopilado será collected.first() .
Los mensajes tienen una propiedad de attachments , una colección de archivos adjuntos en el mensaje, por lo que la imagen será el primer elemento de la colección; collected.first().attachments.first() . Para capturar la URL, puede usar su propiedad url :
const atch_filter = (m) => !!m.attachments || m.startsWith('https'); const collected = await interaction.channel.awaitMessages({ filter: atch_filter, max: 1, }); const img = collected.first().attachments.first().url;Esto es lo que puede intentar definir imagen como
let image = collected.attachments.first() ? message.attachments.first().proxyURL : null