前提・実現したいこと
discord.jsを使ってbotを作成しているのですが、
コマンドをうったらその一つ前のメッセージに対して、リアクションをしているユーザーの名前を抽出するところでうまくいきません。
reactions.cache.get(emoji)で、その中にusersがあるので、.usersでユーザーのコレクションを取得しているつもりなのですが、エラーメッセージが出力されてしまいます。
解決方法がわかる方いたらお願いします。
発生している問題・エラーメッセージ
エラーメッセージ TypeError: messageReactions.forEach is not a function
該当のソースコード
Javasctipt
1 if (message.content.startsWith('!react')){ 2 message.channel.messages.fetch({ before: message.id, limit: 1 }) 3 .then(messages => { 4 const messageReactions = messages.first().reactions.cache.get("????").users; 5 console.log(messageReactions); 6 messageReactions.forEach(function(data){ 7 console.log(data); 8 }) 9 }); 10 };
試したこと
ここに問題に対して試したことを記載してください。
最初のmessageReactionsの中身は以下のようになってるようです
<ref *1> ReactionUserManager { reaction: <ref *2> MessageReaction { message: Message { channelId: '891963669267771432', guildId: '566983097266995221', deleted: false, id: '891963679170527262', type: 'DEFAULT', system: false, content: 'aaa', author: [User], pinned: false, tts: false, nonce: null, embeds: [], components: [], attachments: Collection(0) [Map] {}, stickers: Collection(0) [Map] {}, createdTimestamp: 1632731112998, editedTimestamp: null, reactions: [ReactionManager], mentions: [MessageMentions], webhookId: null, groupActivityApplication: null, applicationId: null, activity: null, flags: [MessageFlags], reference: null, interaction: null }, me: false, users: [Circular *1], _emoji: ReactionEmoji { animated: null, name: '????', id: null, deleted: false, reaction: [Circular *2] }, count: 1 } }
補足情報(FW/ツールのバージョンなど)
discord.js v13
nods.js v16
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/05 13:05
2021/10/06 01:01
2021/10/06 04:36