Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
console.log(`\nGet Bot Framework Emulator: https://aka.ms/botframework-emulator`);
console.log(`\nTo talk to your bot, open echobot.bot file in the Emulator.`);
});
// Create bots DialogManager and bind to state storage
const bot = new botbuilder_dialogs_1.DialogManager();
bot.conversationState = new botbuilder_1.ConversationState(new botbuilder_1.MemoryStorage());
bot.userState = new botbuilder_1.UserState(new botbuilder_1.MemoryStorage());
// Listen for incoming activities.
server.post('/api/messages', (req, res) => {
adapter.processActivity(req, res, async (context) => {
// Route activity to bot.
await bot.onTurn(context);
});
});
// Initialize bots root dialog
const dialogs = new botbuilder_dialogs_adaptive_1.AdaptiveDialog();
bot.rootDialog = dialogs;
//=================================================================================================
// Rules
//=================================================================================================
dialogs.recognizer = new botbuilder_dialogs_adaptive_1.RegExpRecognizer().addIntent('JokeIntent', /tell .*joke/i);
// Tell the user a joke
dialogs.addRule(new botbuilder_dialogs_adaptive_1.OnIntent('#JokeIntent', [], [
new botbuilder_dialogs_adaptive_1.BeginDialog('TellJokeDialog')
]));
// Handle unknown intents
dialogs.addRule(new botbuilder_dialogs_adaptive_1.OnUnknownIntent([
new botbuilder_dialogs_adaptive_1.BeginDialog('AskNameDialog')
]));
//=================================================================================================
// Child Dialogs
//=================================================================================================
console.log(`\nGet Bot Framework Emulator: https://aka.ms/botframework-emulator`);
console.log(`\nTo talk to your bot, open echobot.bot file in the Emulator.`);
});
// Create bots DialogManager and bind to state storage
const bot = new botbuilder_dialogs_1.DialogManager();
bot.conversationState = new botbuilder_1.ConversationState(new botbuilder_1.MemoryStorage());
bot.userState = new botbuilder_1.UserState(new botbuilder_1.MemoryStorage());
// Listen for incoming activities.
server.post('/api/messages', (req, res) => {
adapter.processActivity(req, res, async (context) => {
// Route activity to bot.
await bot.onTurn(context);
});
});
// Initialize bots root dialog
const dialogs = new botbuilder_dialogs_adaptive_1.AdaptiveDialog();
bot.rootDialog = dialogs;
// Handle unknown intents
dialogs.triggers.push(new botbuilder_dialogs_adaptive_1.OnUnknownIntent([
new botbuilder_dialogs_adaptive_1.IfCondition('user.name == null', [
new botbuilder_dialogs_adaptive_1.TextInput('user.name', `Hi! what's your name?`),
]),
new botbuilder_dialogs_adaptive_1.SendActivity(`Hi {user.name}. It's nice to meet you.`)
]));
//# sourceMappingURL=index.js.map
// ringing state
const ringing = dialogs.addState('ringing', [
new SendActivity(`☎️ ring... ring...`),
new ConfirmInput('$answer', `Would you like to answer it?`, true),
new IfCondition('$answer == true', [
new EmitEvent('callConnected')
])
]);
ringing.permit('callConnected', 'connected');
// connected state
const connected = dialogs.addState('connected', [
new SendActivity(`📞 talk... talk... talk... ☹️`),
new ConfirmInput('$hangup', `Heard enough yet?`, true),
new IfCondition('$hangup == true', [
new EmitEvent('callEnded')
])
]);
connected.permit('callEnded', 'offHook');
adapter.processActivity(req, res, async (context) => {
// Route activity to bot.
await bot.onTurn(context);
});
});
// Initialize bots root dialog
const dialogs = new botbuilder_dialogs_adaptive_1.StateMachineDialog('main', 'offHook');
bot.rootDialog = dialogs;
// offHook state
const offHook = dialogs.addState('offHook', [
new botbuilder_dialogs_adaptive_1.SendActivity(`☎️ off hook`),
new botbuilder_dialogs_adaptive_1.SendActivity(`say "place a call" to get started.`)
]);
offHook.permit('callDialed', 'ringing');
offHook.recognizer = new botbuilder_dialogs_adaptive_1.RegExpRecognizer().addIntent('PlaceCallIntent', /place .*call/i);
offHook.addRule(new botbuilder_dialogs_adaptive_1.OnIntent('PlaceCallIntent', [
new botbuilder_dialogs_adaptive_1.EmitEvent('callDialed')
]));
// ringing state
const ringing = dialogs.addState('ringing', [
new botbuilder_dialogs_adaptive_1.SendActivity(`☎️ ring... ring...`),
new botbuilder_dialogs_adaptive_1.ConfirmInput('$answer', `Would you like to answer it?`, true),
new botbuilder_dialogs_adaptive_1.IfCondition('$answer == true', [
new botbuilder_dialogs_adaptive_1.EmitEvent('callConnected')
])
]);
ringing.permit('callConnected', 'connected');
// connected state
const connected = dialogs.addState('connected', [
new botbuilder_dialogs_adaptive_1.SendActivity(`📞 talk... talk... talk... ☹️`),
new botbuilder_dialogs_adaptive_1.ConfirmInput('$hangup', `Heard enough yet?`, true),
new botbuilder_dialogs_adaptive_1.IfCondition('$hangup == true', [
// Route activity to bot.
await bot.onTurn(context);
});
});
// Initialize bots root dialog
const dialogs = new StateMachineDialog('main', 'offHook');
bot.rootDialog = dialogs;
// offHook state
const offHook = dialogs.addState('offHook', [
new SendActivity(`☎️ off hook`),
new SendActivity(`say "place a call" to get started.`)
]);
offHook.permit('callDialed', 'ringing');
offHook.recognizer = new RegExpRecognizer().addIntent('PlaceCallIntent', /place .*call/i);
offHook.addRule(new OnIntent('PlaceCallIntent', [], [
new EmitEvent('callDialed')
]));
// ringing state
const ringing = dialogs.addState('ringing', [
new SendActivity(`☎️ ring... ring...`),
new ConfirmInput('$answer', `Would you like to answer it?`, true),
new IfCondition('$answer == true', [
new EmitEvent('callConnected')
])
]);
ringing.permit('callConnected', 'connected');
server.post('/api/messages', (req, res) => {
adapter.processActivity(req, res, async (context) => {
// Route activity to bot.
await bot.onTurn(context);
});
});
// Initialize bots root dialog
const dialogs = new botbuilder_dialogs_adaptive_1.StateMachineDialog('main', 'offHook');
bot.rootDialog = dialogs;
// offHook state
const offHook = dialogs.addState('offHook', [
new botbuilder_dialogs_adaptive_1.SendActivity(`☎️ off hook`),
new botbuilder_dialogs_adaptive_1.SendActivity(`say "place a call" to get started.`)
]);
offHook.permit('callDialed', 'ringing');
offHook.recognizer = new botbuilder_dialogs_adaptive_1.RegExpRecognizer().addIntent('PlaceCallIntent', /place .*call/i);
offHook.addRule(new botbuilder_dialogs_adaptive_1.OnIntent('PlaceCallIntent', [
new botbuilder_dialogs_adaptive_1.EmitEvent('callDialed')
]));
// ringing state
const ringing = dialogs.addState('ringing', [
new botbuilder_dialogs_adaptive_1.SendActivity(`☎️ ring... ring...`),
new botbuilder_dialogs_adaptive_1.ConfirmInput('$answer', `Would you like to answer it?`, true),
new botbuilder_dialogs_adaptive_1.IfCondition('$answer == true', [
new botbuilder_dialogs_adaptive_1.EmitEvent('callConnected')
])
]);
ringing.permit('callConnected', 'connected');
// connected state
const connected = dialogs.addState('connected', [
new botbuilder_dialogs_adaptive_1.SendActivity(`📞 talk... talk... talk... ☹️`),
new botbuilder_dialogs_adaptive_1.ConfirmInput('$hangup', `Heard enough yet?`, true),
});
});
// Initialize bots root dialog
const dialogs = new StateMachineDialog('main', 'offHook');
bot.rootDialog = dialogs;
// offHook state
const offHook = dialogs.addState('offHook', [
new SendActivity(`☎️ off hook`),
new SendActivity(`say "place a call" to get started.`)
]);
offHook.permit('callDialed', 'ringing');
offHook.recognizer = new RegExpRecognizer().addIntent('PlaceCallIntent', /place .*call/i);
offHook.addRule(new OnIntent('PlaceCallIntent', [], [
new EmitEvent('callDialed')
]));
// ringing state
const ringing = dialogs.addState('ringing', [
new SendActivity(`☎️ ring... ring...`),
new ConfirmInput('$answer', `Would you like to answer it?`, true),
new IfCondition('$answer == true', [
new EmitEvent('callConnected')
])
]);
ringing.permit('callConnected', 'connected');
// connected state
const connected = dialogs.addState('connected', [
// offHook state
const offHook = dialogs.addState('offHook', [
new botbuilder_dialogs_adaptive_1.SendActivity(`☎️ off hook`),
new botbuilder_dialogs_adaptive_1.SendActivity(`say "place a call" to get started.`)
]);
offHook.permit('callDialed', 'ringing');
offHook.recognizer = new botbuilder_dialogs_adaptive_1.RegExpRecognizer().addIntent('PlaceCallIntent', /place .*call/i);
offHook.addRule(new botbuilder_dialogs_adaptive_1.OnIntent('PlaceCallIntent', [
new botbuilder_dialogs_adaptive_1.EmitEvent('callDialed')
]));
// ringing state
const ringing = dialogs.addState('ringing', [
new botbuilder_dialogs_adaptive_1.SendActivity(`☎️ ring... ring...`),
new botbuilder_dialogs_adaptive_1.ConfirmInput('$answer', `Would you like to answer it?`, true),
new botbuilder_dialogs_adaptive_1.IfCondition('$answer == true', [
new botbuilder_dialogs_adaptive_1.EmitEvent('callConnected')
])
]);
ringing.permit('callConnected', 'connected');
// connected state
const connected = dialogs.addState('connected', [
new botbuilder_dialogs_adaptive_1.SendActivity(`📞 talk... talk... talk... ☹️`),
new botbuilder_dialogs_adaptive_1.ConfirmInput('$hangup', `Heard enough yet?`, true),
new botbuilder_dialogs_adaptive_1.IfCondition('$hangup == true', [
new botbuilder_dialogs_adaptive_1.EmitEvent('callEnded')
])
]);
connected.permit('callEnded', 'offHook');
//# sourceMappingURL=index.js.map
new SendActivity(`☎️ off hook`),
new SendActivity(`say "place a call" to get started.`)
]);
offHook.permit('callDialed', 'ringing');
offHook.recognizer = new RegExpRecognizer().addIntent('PlaceCallIntent', /place .*call/i);
offHook.addRule(new OnIntent('PlaceCallIntent', [], [
new EmitEvent('callDialed')
]));
// ringing state
const ringing = dialogs.addState('ringing', [
new SendActivity(`☎️ ring... ring...`),
new ConfirmInput('$answer', `Would you like to answer it?`, true),
new IfCondition('$answer == true', [
new EmitEvent('callConnected')
])
]);
ringing.permit('callConnected', 'connected');
// connected state
const connected = dialogs.addState('connected', [
new SendActivity(`📞 talk... talk... talk... ☹️`),
new ConfirmInput('$hangup', `Heard enough yet?`, true),
new IfCondition('$hangup == true', [
new EmitEvent('callEnded')
])
]);
connected.permit('callEnded', 'offHook');
]));
// ringing state
const ringing = dialogs.addState('ringing', [
new botbuilder_dialogs_adaptive_1.SendActivity(`☎️ ring... ring...`),
new botbuilder_dialogs_adaptive_1.ConfirmInput('$answer', `Would you like to answer it?`, true),
new botbuilder_dialogs_adaptive_1.IfCondition('$answer == true', [
new botbuilder_dialogs_adaptive_1.EmitEvent('callConnected')
])
]);
ringing.permit('callConnected', 'connected');
// connected state
const connected = dialogs.addState('connected', [
new botbuilder_dialogs_adaptive_1.SendActivity(`📞 talk... talk... talk... ☹️`),
new botbuilder_dialogs_adaptive_1.ConfirmInput('$hangup', `Heard enough yet?`, true),
new botbuilder_dialogs_adaptive_1.IfCondition('$hangup == true', [
new botbuilder_dialogs_adaptive_1.EmitEvent('callEnded')
])
]);
connected.permit('callEnded', 'offHook');
//# sourceMappingURL=index.js.map