Home > Enterprise >  DiscordJS Get member of x message in channel
DiscordJS Get member of x message in channel

Time:08-14

I'm trying to get the member of a specific message in a specific channel. In the code below for example I'm trying to get the member of the 2nd message in a channel.

            let arr = []
            interaction.channel.messages.fetch({ limit: 100 }).then(messages => {
                messages.forEach((message) => {
                    arr.push(message)
                });
            }).catch(err => {
                console.log(err);
            });
            let firstMsg = interaction.channel.messages.fetch(arr[arr.length - 2].id)
            let memb = (await firstMsg).member.id

I get following error though:

TypeError: Cannot read properties of undefined (reading 'id')

Is there a better way to do this? If not how could I fix the error?

CodePudding user response:

You should put the code in the then part of the promise:

            interaction.channel.messages.fetch({ limit: 100 }).then(messages => {
                const secondMessage = messages.toJSON()[messages.size - 2];
                const member = secondMessage.author.id;

            }).catch(err => {
                console.log(err);
            });
  • Related