简体   繁体   中英

How to get the content of a pinned message discord.js

I am making a Discord bot in discord.js and I want to get the content of a pinned message.

I know I can use interaction.channel.messages.fetchPinned().then(pinnedMessages => /* do stuf */ ); to fetch the messages. But if you try to print out the value of pinnedMessages.content it will return undefined .

The type of pinnedMessages is an object, but I do not know how I can get the contents of it.

So, how do I do this?

fetchPinned returns a collection of messages. There are a couple of methods you can use, depending on your needs.

To get the content of the first pinned message, you can use:

let messages = await interaction.channel.messages.fetchPinned()
let firstMessage = messages.first()

console.log(firstMessage.content)

To get a pinned message by its ID:

let messages = await interaction.channel.messages.fetchPinned()
let messageById = messages.get('MESSAGE ID HERE')

console.log(messageById.content)

If you want to log all pinned messages' content:

let messages = await interaction.channel.messages.fetchPinned()

messages.forEach(msg => {
  console.log(msg.content)
})

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM