Bot - Full Example: Hide buttons on response from user
// demo-hidebuttons.js
//Shows how to use text prompt with buttons that disappear after selection.
// https://github.com/Microsoft/BotBuilder/blob/master/Node/examples/feature-suggestedActions/app.js
'use strict';
// 01. Include required files
require('dotenv-extended').load();
var restify = require('restify');
var builder = require('botbuilder');
// ---------------------------------------------------------------------------------------------------------------------
// 02. Setup Restify Server
var server = restify.createServer();
// 03. Configure listen for messages
server.listen(process.env.PORT || 3978, function()
{
console.log('%s listening to %s', server.name, server.url);
});
// 04. Create chat bot
var connector = new builder.ChatConnector
({
appId: process.env.MICROSOFT_APP_ID,
appPassword: process.env.MICROSOFT_APP_PASSWORD
});
// 05. Listen for messages
server.post('/api/messages', connector.listen());
// 06. Serve static files
server.get(/.*/, restify.serveStatic({
directory: __dirname,
'default': 'index.html'
}));
// Receive messages from the user and respond by echoing each message back (prefixed with 'You said:')
var bot = new builder.UniversalBot(connector);
bot.dialog('/', [
function (session) {
var msg = new builder.Message(session)
.text("Thank you for expressing interest in our premium golf shirt! What color of shirt would you like?")
.suggestedActions(
builder.SuggestedActions.create(
session, [
builder.CardAction.imBack(session, "green", "green"),
builder.CardAction.imBack(session, "blue", "blue"),
builder.CardAction.imBack(session, "red", "red")
]
));
builder.Prompts.text(session, msg);
},
function(session, results) {
var reply = results.response;
switch(reply.toLowerCase().trim())
{
case 'red': case 'blue': case 'green':
session.send('I like ' + results.response + ' too!');
session.endConversation('All done!');
break;
default:
session.send("I'm sorry, that answer is not recognized. Let's try again...");
session.replaceDialog('/');
}
//Shouldn't get here
}
]);