jazzedge
7/28/2017 - 11:41 AM

Bot - Full Example: Hide buttons on response from user

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 
    }
]);