2017-02-21 9 views
1

自分のノードサーバーで動作する独自のNode.jsボットを作成しました。discord.js node.js - 受信者へのボットの返信

私のbotはmybotという名前です。

私は、着信メッセージに応答する数多くの例を見てきました。このように見えます(正常に動作します)。

chatroom.on('message', function(msg){ 
    if(msg.content === 'ping'){ 
     msg.reply('pong'); 
    } 
}); 

上記のコードは、誰でもチャンネルに「ping」と書いたときに、「pong」というボットの返信を行います。

ほとんどのボットと同様に、一般的にあなたはそれらに話して、@mybot blahblahblahのようなものを尋ねてから返答します。

私はこれをしたいと思います。私はmybotに彼に話したときに返信したい。 @mybotをキャプチャするmsg.recipientListまたはmsg.recipientsが必要です。私はDiscord.jsのドキュメントを見てきました。私はこの結果を見つけるのに苦労しています。

答えて

1

これを行うにはいくつかの方法がありますが、もっとも「エレガントな」方法は、(ユーザー、GuildChannel、役割、文字列の)オブジェクトを引数として取り、オブジェクトへの参照。ボットのUserオブジェクトを提供するだけです(基本クラスの格納オブジェクトはClientUserインスタンスですが、Userはそのスーパークラスです)。

// I'm assuming chatroom is your bot's DiscordClient instance, 
// if it isn't then replace the "chatroom" in chatroom.user with the bot's 
// DiscordClient. 
chatroom.on('message', msg => { 
    if (msg.isMentioned(chatroom.user)) { 
    msg.reply('pong'); 
    } 
}); 
+1

はい、チャットルームはクライアントです。ありがとうございました。その答えは働いた! –

関連する問題