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

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

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

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

Q&A

2回答

4015閲覧

discord.jsで特定のチャンネルのメッセージを受け取る、2つのtokenの違いについて

thinpo

総合スコア12

JavaScript

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

1グッド

2クリップ

投稿2018/09/17 10:43

編集2018/09/17 10:57

①discord.jsの指定したチャンネルの、もっと言えば指定したサーバのメッセージを受け取る(受け取ったメッセージによって自分用のチャンネルにメッセージを送る)にはどうすればよいでしょうか?
今のところ自分が権限があるチャンネルにしかボットが入れないようなのでどうすればいいかわかりません
そのチャンネルでは自分で適当に送ったメッセージに対して反応してくれるまではできました
指定したチャンネルは、自分の普通のアカウントは入れているものとします

②discordのapiには(client ID、)client Secret token、そしてbotのtokenがありますが、この2つの使いどころの違いは何なのでしょうか? client Secret tokenを使う場面っていつなのかなと、、、
それこそ①の指定サーバのメッセージを受け取ったりということがclient Secret tokenでもできたりするのでしょうか?

Lloyd👍を押しています

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

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

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

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

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

guest

回答2

0

discord.js v12を使っているものとします。

  • メッセージを受け取る場合には

js

1client.on('message', async message => { 2 if (message.guild.id === "指定するサーバーID") { 3 //指定したサーバーのときの処理 4 } 5});

を使います。

  • Botのtokenは、Botアカウントに接続するためのものです。
  • Client Secret Token(正式名称はClient Secret)は、OAuth認証

こういうやつ
↑こういうやつ
を作るときに使用します。
参考:「DiscordのIDでログイン」を実装する(Oauth2)

投稿2021/07/22 01:39

Waki285

総合スコア2014

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

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

0

特定のチャンネルのメッセージを取得して、ほかのチャンネルに送るには、グローバルチャットのコードを使用すれば簡単にできます。

client.on('message', message => { if (message.channel.name === '**送信元のチャンネル名**') { if (message.author.bot) return; if (message.attachments.size <= 0) { message.delete() } client.channels.forEach(channel => { if (message.attachments.size <= 0) { const embed = new discord.RichEmbed() .setAuthor(message.author.tag, message.author.avatarURL) .setDescription(message.content) .setColor(0x2C2F33) .setFooter(message.guild.name, message.guild.iconURL) .setTimestamp() if (channel.name === '**転送先のチャンネル名**') { channel.send(embed) return; } return; } if (!message.attachments.forEach(attachment => { const embed = new discord.RichEmbed() .setAuthor(message.author.tag, message.author.avatarURL) .setImage(attachment.url) .setDescription(attachment.url) .setColor(0x2C2F33) .setFooter(message.guild.name, message.guild.iconURL) .setTimestamp() if (channel.name === '**転送先のチャンネル名**') { channel.send(embed) return; } return; })); return; }); } })

これで**で囲まれている部分を好きなように編集すると作れます

投稿2020/07/17 10:03

Lloyd

総合スコア17

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問