2017-03-01 2 views
1

私は毎週#testチャンネルで無作為のユーザーに言及するために、ボットを開発し、Slack内でBotKitを使用しようとするのが初めてです。ここに私が今まで持っているコードはあります:BotKitを使用してSlackでランダムな@mentionを含むメッセージを送信するにはどうすればよいですか?

controller.hears('interactive', 'direct_message', function(bot, message) { 
    // send webhooks 

    bot.configureIncomingWebhook({url: 'https://hooks.slack.com/services/my/hook/uri'}); 
    bot.sendWebhook({ 
    text: 'Hey!', 
    channel: '#test', 
    },function(err,res) { 
    // handle error 
    }); 
}); 

これは今、「Hey!」というメッセージを送信します。 #testチャネルに私がボットに "interactive"というメッセージを送ると、これはうまくいきます。どのようにしてユーザーのすべてのユーザー名を取得し、テキスト出力がtext: '"Hey " + "@" + random.username + " !"',のようにランダム化することができますか。私は毎週このメッセージを送ることを望みます。

アイデア?ここで説明したように

答えて

1

弛みがusers.list機能を提供する:Slack API users.list

membersアレイはuserオブジェクトが含まれています。ユーザーuser[0].nameを使用して、@ mentionにしたい最初のユーザー名にアクセスできます。デモでは、これは@bobbyとなるでしょう。

「特定の順序なし」のリストを返すため、潜在的な問題が発生する可能性があります。別のデータベースに格納する可能性があり、新しい場合は要素を追加してデータベースエントリに基づいてランダム化します。

関連する問題