質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

2回答

4015閲覧

discord.jsでのリアクション数 集計

_came_kame_

総合スコア23

Discord

Discordは、ゲーマー向けのボイスチャットアプリです。チャット・通話がブラウザ上で利用可能で、個人専用サーバーも開設できます。通話中でも音楽を流したり、PC画面を共有できるなど多機能な点が特徴です。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2021/11/20 02:04

編集2021/11/20 07:28

前提・実現したいこと

メッセージにリアクションがついている数を集計したいです

発生している問題・エラーメッセージ

エラーは出ないんですけど

[object Object]

になってしまいます。

該当のソースコード

js

1 client.on("messageReactionAdd", async (messageReaction, user) => { 2 if (messageReaction.message.guild.id === "804360359321272321") { 3 const mes = messageReaction.message; 4 if (messageReaction.emoji.name == "????") { 5 good.set(messageReaction.message.id, messageReaction.message.channel.id); 6 7 const react = (reaction, user) => reaction.emoji.name === "????"; 8 const collector = messageReaction.message.createReactionCollector(react); 9 if (messageReaction.message.id !== good ) { 10 client.channels.cache 11 .get("822030325961588816") 12 .send( 13 new Discord.MessageEmbed() 14 .setAuthor( 15 messageReaction.message.author.tag, 16 messageReaction.message.author.avatarURL() 17 ) 18 .setDescription( 19 "????:" + 20 collector + 21 "\n" + 22 messageReaction.message.content + 23 "\n\n[本文へjump!](https://discord.com/channels/" + 24 messageReaction.message.guild.id + 25 "/" + 26 messageReaction.message.channel.id + 27 "/" + 28 messageReaction.message.id + 29 ")" 30 ) 31 .setColor("0x82c93a") 32 .setImage( 33 messageReaction.message.attachments.first() 34 ? messageReaction.message.attachments.first().url 35 : null 36 ) 37 ); 38 } 39 } 40 } 41});

試したこと

上記の通りです

補足情報(FW/ツールのバージョンなど)

node.js v14
discord.js v12.5.3

回答お願いします m(._.)m

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

あなたのコードではCollectorをそのまま送信しています。リアクションされた数を取得するには

js

1collector.on('end', collected => { 2count=collected.size; 3});

のように取得しなければなりません

js

1 client.on("messageReactionAdd", async (messageReaction, user) => { 2 if (messageReaction.message.guild.id === "804360359321272321") { 3 const mes = messageReaction.message; 4 if (messageReaction.emoji.name == "????") { 5 good.set(messageReaction.message.id, messageReaction.message.channel.id); 6 7 const react = (reaction, user) => reaction.emoji.name === "????"; 8 const collector = messageReaction.message.createReactionCollector(react); 9 collector.on('end', collected => { 10 if (messageReaction.message.id !== good ) { 11 client.channels.cache 12 .get("822030325961588816") 13 .send( 14 new Discord.MessageEmbed() 15 .setAuthor( 16 messageReaction.message.author.tag, 17 messageReaction.message.author.avatarURL() 18 ) 19 .setDescription( 20 "????:" + 21 collected.size + 22 "\n" + 23 messageReaction.message.content + 24 "\n\n[本文へjump!](https://discord.com/channels/" + 25 messageReaction.message.guild.id + 26 "/" + 27 messageReaction.message.channel.id + 28 "/" + 29 messageReaction.message.id + 30 ")" 31 ) 32 .setColor("0x82c93a") 33 .setImage( 34 messageReaction.message.attachments.first() 35 ? messageReaction.message.attachments.first().url 36 : null 37 ) 38 ); 39 } 40}); 41 } 42 } 43});

のようにします。絵文字の部分が文字化けして????になっていますので上記のコードの絵文字部分を修正してもらえれば動くと思います

投稿2022/03/29 11:19

ysmreg

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

その値はどこから出てきたんですか?

投稿2021/11/20 02:20

Waki285

総合スコア2014

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_came_kame_

2021/11/20 02:31

その値とは? どこかだめです?
Waki285

2021/11/20 02:34

[object Object] はどこに出ているか聞いています
_came_kame_

2021/11/20 06:24

送られたメッセージの中です
Waki285

2021/11/20 07:22

メッセージを送るコードが乗っていませんが
Waki285

2021/11/20 08:24

goodの中身はどうなっていますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問