###前提・実現したいこと
現在、botkitを使って
botに話しかけたらメンション付きで返事をくれる仕組みを作ろうとしています。
そこで、ユーザの名前を覚えてもらって、名前を返してくれることはできたのですが、
名前ではなく、メンションで返してほしい時はどうしたらいいのかがわかりません。
###該当のソースコード
ここの「(.*)」で、ユーザの名前を覚えてもらいます。
controller.hears(['(.*)って呼んでください', 'my name is (.*)'], 'direct_message,direct_mention,mention',function(bot, message) { var name = message.match[1]; controller.storage.users.get(message.user, function(err, user) { if (!user) { user = { id: message.user, }; } user.name = name; controller.storage.users.save(user, function(err, id) { bot.reply(message, 'おっけー!じゃあ、' + user.name + ' って呼ぶね'); }); }); });
「user.name」がbotに覚えてもらった名前です。
node.js
1controller.hears(['終わりました!','def'],['direct_message','direct_mention'],function(bot,message) { 2 controller.storage.users.get(message.user,function(err, user) { 3 if (user && user.name) { 4 bot.reply(message, '<@' + user.name + 'お疲れ様!'); 5 } 6 else{ 7 bot.reply(message, 'お疲れ様!'); 8 } 9 }); 10 });
###試したこと
- user.nameと書いているところを「user.id」と書いてみた
->反応せず
- IDをどう取得をしているのか調べてみた
->あまり有益な情報が得られず...
###補足情報
バージョン
- node 7.2.0
あなたの回答
tips
プレビュー