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

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

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

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

Q&A

解決済

1回答

2705閲覧

botからメンションの仕方がわからないです

doere

総合スコア1

Discord

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

0グッド

0クリップ

投稿2021/12/30 09:17

編集2021/12/30 15:32

ディスコードのbotで「APEXやろ」と誰かが送信した場合にbotから自分にメンションを
したいんですが、やり方がわからなく困ってます。
教えてください。

const

1const querystring = require('querystring'); 2const discord = require('discord.js'); 3const client = new discord.Client(); 4 5http.createServer(function(req, res){ 6 if (req.method == 'POST'){ 7 var data = ""; 8 req.on('data', function(chunk){ 9 data += chunk; 10 }); 11 req.on('end', function(){ 12 if(!data){ 13 res.end("No post data"); 14 return; 15 } 16 var dataObject = querystring.parse(data); 17 console.log("post:" + dataObject.type); 18 if(dataObject.type == "wake"){ 19 console.log("Woke up in post"); 20 res.end(); 21 return; 22 } 23 res.end(); 24 }); 25 } 26 else if (req.method == 'GET'){ 27 res.writeHead(200, {'Content-Type': 'text/plain'}); 28 res.end('Discord Bot is active now\n'); 29 } 30}).listen(3000); 31 32client.on('ready', message =>{ 33 console.log('Bot準備完了~'); 34 client.user.setPresence({ activity: { name: 'げーむ' } }); 35}); 36 37client.on('message', message =>{ 38 if (message.author.id == client.user.id || message.author.bot){ 39 return; 40 } 41 if(message.isMemberMentioned(client.user)){ 42 43 return; 44 } 45 if (message.content.match(/APEXやろ/)){ 46 let text = "ここでbotにメンションしてもらいたい"; 47 sendMsg(message.channel.id, text); 48 return; 49 } 50}); 51 52if(process.env.DISCORD_BOT_TOKEN == undefined){ 53 console.log('DISCORD_BOT_TOKENが設定されていません。'); 54 process.exit(0); 55} 56 57client.login( process.env.DISCORD_BOT_TOKEN ); 58 59function sendReply(message, text){ 60 message.reply(text) 61 .then(console.log("リプライ送信: " + text)) 62 .catch(console.error); 63} 64 65function sendMsg(channelId, text, option={}){ 66 client.channels.get(channelId).send(text, option) 67 .then(console.log("メッセージ送信: " + text + JSON.stringify(option))) 68 .catch(console.error); 69}```

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

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

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

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

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

y_waiwai

2021/12/30 09:44

このままではコードが読めないので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
doere

2021/12/30 15:20

コードを張り付けると書いてありますが それは、botを動かすコードのことですか?
Awayume

2021/12/30 16:24

使いたいdiscord.jsのバージョンを教えてください。 ちなみに、見た感じVer11のコードですが、現在の最新版はVer13です。 Ver11は対応していない機能もあるので使うのはあまりおすすめできませんが···
doere

2021/12/30 16:27

11.6.4です。ディスコードbotの作り方でdiscord.jsのバージョンを11.6.4にしてください。 とかいてあったのでそうしました。
guest

回答1

0

ベストアンサー

discord.jsでメッセージ送信者にメンションをするには、 message.reply("メッセージ"); のようにします。
なお、質問者様が貼っているコードには、replyをするときにつかうfunctionがあるようなので、それを使うと、
sendReply(message, text); ( text は送信したいメッセージを定義するか、その部分に直接書く) というようにすればよいと思います。

投稿2021/12/30 16:43

Awayume

総合スコア60

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

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

doere

2021/12/31 14:37

ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問