Estoy creando un bot de Discord en discord.js y quiero obtener el contenido de un mensaje anclado.
Sé que puedo usar interaction.channel.messages.fetchPinned().then(pinnedMessages => /* do stuf */ ); para buscar los mensajes. Pero si intenta imprimir el valor de pinnedMessages.content , devolverá undefined .
El tipo de pinnedMessages es un objeto, pero no sé cómo puedo obtener su contenido.
Entonces, ¿cómo hago esto?
fetchPinned devuelve una colección de mensajes. Hay un par de métodos que puede usar, según sus necesidades.
Para obtener el contenido del primer mensaje anclado, puede usar:
let messages = await interaction.channel.messages.fetchPinned() let firstMessage = messages.first() console.log(firstMessage.content)Para obtener un mensaje anclado por su ID:
let messages = await interaction.channel.messages.fetchPinned() let messageById = messages.get('MESSAGE ID HERE') console.log(messageById.content)Si desea registrar el contenido de todos los mensajes anclados:
let messages = await interaction.channel.messages.fetchPinned() messages.forEach(msg => { console.log(msg.content) })