Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
597 commits
Select commit Hold shift + click to select a range
80beb4d
Direct line extension (#1606)
Aug 2, 2019
dec7deb
yl- issues fixing (#1628)
zxyanliu Aug 2, 2019
ef35b8d
Merge branch 'live' into master
emgrol Aug 2, 2019
7a33d7c
Update conversion-core.md
emgrol Aug 2, 2019
a1eaa44
Release 'live' 08-02-2019 (#1636)
emgrol Aug 2, 2019
11c7afb
Merge branch 'master' into community-content
Kaiqb Aug 2, 2019
d622e20
Update bot-builder-tutorial-basic-deploy.md
emgrol Aug 2, 2019
1cf292f
Update bot-builder-telemetry.md
emgrol Aug 2, 2019
d871164
Update bot-builder-concept-activity-processing.md
emgrol Aug 2, 2019
2293a12
Update bot-builder-howto-proactive-message.md
emgrol Aug 2, 2019
6d83f35
Update articles/bot-builder-deploy-az-cli.md
Kaiqb Aug 6, 2019
f8137a1
Update articles/bot-builder-deploy-az-cli.md
Kaiqb Aug 6, 2019
ac1f8fd
Update bot-builder-deploy-az-cli.md
Kaiqb Aug 6, 2019
bb5bca7
Update bot-builder-tutorial-basic-deploy.md
Aug 6, 2019
ecf96ed
Update bot-builder-deploy-az-cli.md
Aug 6, 2019
1f4e6f6
Update bot-builder-tutorial-basic-deploy.md
Aug 6, 2019
82b20dc
Update bot-builder-deploy-az-cli.md
Aug 7, 2019
f48ac8c
Update bot-builder-tutorial-basic-deploy.md
Aug 7, 2019
28c6822
Update bot-builder-deploy-az-cli.md
Aug 7, 2019
3b6b534
Update bot-builder-tutorial-basic-deploy.md
Aug 7, 2019
0b58d7e
Update bot-builder-tutorial-basic-deploy.md
Aug 7, 2019
cd889ce
Update bot-builder-deploy-az-cli.md
Aug 7, 2019
f7ef674
Update bot-builder-deploy-az-cli.md
Kaiqb Aug 7, 2019
43c6c33
Update bot-builder-deploy-az-cli.md
Kaiqb Aug 7, 2019
a0fb955
Update bot-builder-deploy-az-cli.md
Kaiqb Aug 7, 2019
a3cf2d9
Community content (#1634)
Kaiqb Aug 7, 2019
8c341bd
Merge branch 'live' into master
Kaiqb Aug 7, 2019
4106e19
Release 'live' 08-07-2019 (#1646)
Kaiqb Aug 7, 2019
9a1629c
M37355: Fixing typo awo/two (#1643)
v-maudel Aug 8, 2019
24ca736
mm/directline-update (#1644)
Aug 8, 2019
c7534ae
Various doc edits (#1637)
JonathanFingold Aug 8, 2019
0ab576c
yl-fix broken links (#1641)
zxyanliu Aug 8, 2019
fbdff1e
mm/fixing issues (#1638)
Aug 8, 2019
dcdd7d8
Update bot-builder-nodejs-cortana-skill.md (#1649)
emgrol Aug 8, 2019
bc2b013
Merge branch 'live' into master
emgrol Aug 8, 2019
0f630d5
Update cortana-skill-concepts.md
emgrol Aug 8, 2019
6a83b2c
Release 'live' 08-07-2019 (part 2) (#1650)
emgrol Aug 8, 2019
c0ba0ae
[VA & Skills] Updated links in VA and Skill documentation (#1642)
lauren-mills Aug 9, 2019
2a4bbe5
Put my working notes somewhere where other writers can access them. (…
JonathanFingold Aug 12, 2019
0ff6f75
Attempt to fix most of the api xref issues (#1645)
JonathanFingold Aug 13, 2019
34f0fc2
Issue fixes (#1652)
emgrol Aug 13, 2019
1f2d7e1
Merge branch 'live' into master
emgrol Aug 13, 2019
7b3d2b5
Release 'live' 08-13-2019 (#1655)
emgrol Aug 13, 2019
8a190b5
[styleguide] Add to and update dialog notes (#1654)
JonathanFingold Aug 13, 2019
56e7ce4
[styleguide: dialogs] Incremental updates (#1657)
JonathanFingold Aug 14, 2019
55f5ccf
Update Direct Line Speech article (#1653)
JonathanFingold Aug 15, 2019
7a21db0
Merge remote-tracking branch 'origin/live'
Aug 15, 2019
4ddaae6
Release 'live' 08-14-2019 (#1658)
emgrol Aug 15, 2019
d46cec7
Update bot-builder-deploy-az-cli.md (#1660)
emgrol Aug 15, 2019
58d3ce2
Update bot-builder-deploy-az-cli.md (#1663)
emgrol Aug 15, 2019
0fb46bb
Merge branch 'live' into master
emgrol Aug 16, 2019
c2fbd00
Release 'live' 08-15-2019 part 2 (#1664)
emgrol Aug 16, 2019
c449996
Update **Bot basics** with respect to `ActivityHandler` changes (#1667)
JonathanFingold Aug 16, 2019
1947556
Commit changes to styleguide-dialogs (#1666)
JonathanFingold Aug 16, 2019
5721fa0
Merge branch 'live' into master
emgrol Aug 17, 2019
0010c1c
Update bot-builder-basics.md
emgrol Aug 17, 2019
3eaf06d
Release 'live' 08-16-2019 (#1668)
emgrol Aug 17, 2019
e191e88
Update code snippet references as necessary. (#1670)
JonathanFingold Aug 20, 2019
3506805
Merge branch 'live' into master
emgrol Aug 20, 2019
72e0a70
Release 'live' 08-19-2019 (#1672)
emgrol Aug 20, 2019
d9d0f0e
yl-update-code-links (#1671)
zxyanliu Aug 20, 2019
6319147
mm/fixing issues (#1647)
Aug 21, 2019
4c2bb02
Merge branch 'live' into master
emgrol Aug 21, 2019
9e1034a
Release 'live' 08-21-2019 part 1 (#1675)
emgrol Aug 21, 2019
1f2e13c
fix bugs in JS code (#1674)
zxyanliu Aug 21, 2019
fe0004c
Merge branch 'live' into master
emgrol Aug 22, 2019
514a3c1
Release 'live' 08-21-2019 part 2 (#1677)
emgrol Aug 22, 2019
b1aaa9f
Fix code snippet alignment and related issues (#1676)
JonathanFingold Aug 22, 2019
35dc328
CI Update (#1599)
v-alje Aug 22, 2019
662f12f
Fix broken links and some metadata and whitespace issues. (#1679)
JonathanFingold Aug 23, 2019
af224e0
Merge branch 'live' into master
emgrol Aug 23, 2019
ec0bcb4
mm/migration-issues (#1656)
Aug 26, 2019
008aa62
Release 'live' 08-26-2019 (#1681)
emgrol Aug 26, 2019
a0a040d
mm/migration (removed JavaScript user state topic) (#1683)
Aug 26, 2019
bf116eb
yl-fixing-code-order (#1682)
zxyanliu Aug 26, 2019
00e0ccd
mm/auth-issues (#1680)
Aug 26, 2019
5cf424f
yl-deploy-suggested-changes01 (#1659)
zxyanliu Aug 26, 2019
a03dbc5
Restore old REST API object documentation and cross-linking. (#1684)
JonathanFingold Aug 26, 2019
b7f5a07
C113896: Adding break-line before snippet (#1669)
v-maudel Aug 26, 2019
3279d22
Merge branch 'live' into master
emgrol Aug 26, 2019
c200cc2
Release 'live' 09-26-2019 part 2 (#1686)
emgrol Aug 26, 2019
71e9552
Fixing auth issues (#1685)
Aug 27, 2019
7c0fe1f
Merge branch 'live' into master
emgrol Aug 28, 2019
0b647dc
Release 'live '08-27-2019 (#1689)
emgrol Aug 28, 2019
7727e02
AKA link fixes (#1673)
emgrol Aug 28, 2019
3aa57eb
CC152236: fixing typo for consistency CSharp/C# (#1696)
v-maudel Aug 29, 2019
796a68f
CC152231: fixing typo for consistency CSharp/C# (#1695)
v-maudel Aug 29, 2019
4efe3ea
CC152112: fixing typo for consistency CSharp/C# (#1694)
v-maudel Aug 29, 2019
773a116
CC152110: fixing typo for consistency CSharp/C# (#1693)
v-maudel Aug 29, 2019
92e6304
CC152099: fixing typo for consistency CSharp/C# (#1692)
v-maudel Aug 29, 2019
8775724
CC152097: fixing typo for consistency CSharp/C# (#1691)
v-maudel Aug 29, 2019
bc6d9a0
CC152078: fixing typo for consistency CSharp/C# (#1690)
v-maudel Aug 29, 2019
e648ca5
Minor edits and updates to dialog terms (#1699)
JonathanFingold Aug 29, 2019
c804269
Fix schema docs (#1698)
Aug 29, 2019
e98af4d
Merge branch 'live' into master
emgrol Aug 30, 2019
eacf152
Release 'live' 08-29-2019 (#1700)
emgrol Aug 30, 2019
618a796
Merge branch 'live' into master
emgrol Sep 3, 2019
c2f82be
Update what-is-new.md with AKA link fix (#1701)
emgrol Sep 3, 2019
ed7c5bf
mm/fixing issues (#1697)
Sep 3, 2019
e573c58
Release 'live' 09-03-2019 (#1705)
emgrol Sep 3, 2019
9f75927
Merge branch 'live' into master
emgrol Sep 4, 2019
c4d2dfb
Release 'live' 09-04-2019 (#1708)
emgrol Sep 4, 2019
0920853
Build suggestion and warning fixes (#1709)
emgrol Sep 4, 2019
e7fbbbb
Merge branch 'live' into master
emgrol Sep 4, 2019
a6d02ec
Release 'live' 09-04-19 part 2 (#1710)
emgrol Sep 4, 2019
5538ffd
yl-deploy02 (#1687)
zxyanliu Sep 5, 2019
c8dfea2
Updating Telegram channel article (#1711)
emgrol Sep 5, 2019
84de129
mm/fixing-fb-issue-090319 (#1706)
Sep 5, 2019
3754418
Merge branch 'live' into master
emgrol Sep 5, 2019
dd12ddf
Release 'live' 09-05-2019 (#1713)
emgrol Sep 5, 2019
d21abdf
Publish initial writing resource notes (#1714)
JonathanFingold Sep 5, 2019
44db21b
Update bot-service-activities-entities.md (#1716)
zxyanliu Sep 6, 2019
5c72884
Merge branch 'live' into master
emgrol Sep 9, 2019
99fa595
Release 'live' 09-09-2019 (#1718)
emgrol Sep 9, 2019
9b94825
Add ref doc process notes (#1717)
JonathanFingold Sep 9, 2019
ff26db4
Update bot-framework-rest-connector-api-reference.md (#1712)
Sep 9, 2019
e286d28
Update bot-framework-rest-connector-add-rich-cards.md (#1703)
emgrol Sep 10, 2019
241df48
Updating bot-builder-howto-add-media-attachments.md (issue 1247) (#1715)
emgrol Sep 10, 2019
7b302e4
Update bot-builder-telemetry.md (#1720)
emgrol Sep 10, 2019
4dec46f
Merge branch 'live' into master
emgrol Sep 10, 2019
e815e78
Release 'live' 09-10-2019 (#1721)
emgrol Sep 10, 2019
63281e5
Modified HTML sample starting on line 158 (#1723)
WashingtonKayaker Sep 17, 2019
246a58f
Merge branch 'live' into master
emgrol Sep 17, 2019
96d26f6
Release 'live' 09-17-2019 (#1724)
emgrol Sep 17, 2019
9587724
Update bot-service-troubleshoot-general-problems.md (#1725)
Kaiqb Sep 17, 2019
2256712
Merge branch 'live' into master
Kaiqb Sep 17, 2019
61a2297
Release 'live' 09-17-2019 (#1726)
Kaiqb Sep 17, 2019
cae3c93
fixed a minor gramatical error (#1727)
WashingtonKayaker Sep 17, 2019
6062ff3
Kaiqb/note (#1728)
Kaiqb Sep 17, 2019
a81ea41
Merge branch 'live' into master
emgrol Sep 18, 2019
378dbff
Release 'live' 09-17-2019 (#1729)
Kaiqb Sep 18, 2019
53fea1b
Add notes on writing JS ref docs (#1732)
JonathanFingold Sep 20, 2019
3ecd895
Public issue 1356 (#1735)
diberry Sep 23, 2019
fc82984
Merge branch 'live' into master
emgrol Sep 24, 2019
b869b6c
Release 'live' 09-24-2019 (#1739)
emgrol Sep 24, 2019
f44695b
Take notes on 4.6-preview changes in the dialogs libraries (#1733)
JonathanFingold Sep 24, 2019
fb53295
Update terminology (#1740)
JonathanFingold Sep 24, 2019
4301eb2
Review 4.6-preview branch (#1741)
JonathanFingold Sep 24, 2019
96a5beb
Removed mentions of Channel Inspector - issue 1345 (#1742)
emgrol Sep 25, 2019
b88d945
mm-tracking issues (#1688)
Sep 25, 2019
cc4e610
mm-fixing-speech-issues (#1734)
Sep 25, 2019
de24518
Adding link to 'Next Steps' section - issue 1354 (#1738)
emgrol Sep 25, 2019
c993640
Adding TypeScript bot detail in deployment snippets (#1736)
zxyanliu Sep 25, 2019
35098eb
Fixed activity class link (#1737)
emgrol Sep 25, 2019
f2874fe
Merge branch 'live' into master
emgrol Sep 25, 2019
d493caf
Release 'live' 09-25-2019 (#1744)
emgrol Sep 25, 2019
6e44b03
Add to notes on adaptive dialogs (#1745)
JonathanFingold Sep 25, 2019
41b0c22
Start fixing my adaptive dialog notes (#1750)
JonathanFingold Sep 30, 2019
3a76162
Merge branch 'community-content-live-sync-work' into community-content
Kaiqb Sep 30, 2019
a23d7ef
Merge branch 'master' into community-content
Kaiqb Sep 30, 2019
113f273
C123184: Adding two spaces to create hard break-line before snippet (…
v-maudel Sep 30, 2019
e6b8542
Merge branch 'master' into community-content
emgrol Sep 30, 2019
e481f28
Update bot-framework-rest-connector-api-reference.md
Kaiqb Sep 30, 2019
59c1ee5
Update bot-service-channels-reference.md
Kaiqb Sep 30, 2019
e482104
Update bot-service-activities-entities.md (#1752)
emgrol Sep 30, 2019
f40c815
Merge branch 'master' into community-content
Kaiqb Sep 30, 2019
b6f4965
Community content (#1751)
Kaiqb Sep 30, 2019
b44e783
Merge branch 'live' into master
Kaiqb Sep 30, 2019
e9cd857
Release 'live' 09-30-2019 (#1753)
Kaiqb Sep 30, 2019
c5412b8
C123182: Adding two spaces to create hard break-line before snippet (…
v-maudel Oct 1, 2019
171bd7a
Continue updating notes (#1756)
JonathanFingold Oct 1, 2019
c0a21d7
C123185: Fixing hiperlink syntax (#1757)
v-maudel Oct 2, 2019
586ff14
Update notes (#1759)
JonathanFingold Oct 7, 2019
34657e5
Update bot-service-channel-directline-extension.md (#1758)
Oct 8, 2019
fdc0e57
Merge branch 'live' into master
JonathanFingold Oct 8, 2019
7e901f5
Release 'live' 10-08-2019 (#1760)
Kaiqb Oct 8, 2019
5b21a67
L129483: Adding break-line before snippet (#1761)
v-maudel Oct 9, 2019
9f8f96e
Update bot-builder-skills-overview.md (#1762)
Kaiqb Oct 9, 2019
fa6b551
Merge branch 'live' into master
Kaiqb Oct 9, 2019
5d81c5b
Release 'live' 10-09-2019 (#1763)
Kaiqb Oct 9, 2019
471f571
Updated code snippet (#1765)
emgrol Oct 14, 2019
11edd6c
Fix for diaspatch issue (#1766)
JonathanFingold Oct 14, 2019
ec5c626
Merge branch 'live' into master
emgrol Oct 14, 2019
a6dcd51
Fix for some yml warnings in the doc build (#1768)
JonathanFingold Oct 14, 2019
9b06f45
Release 'live' 10-14-2019 (#1767)
emgrol Oct 14, 2019
00a6fd2
Update dialog notes for writers (#1773)
JonathanFingold Oct 16, 2019
e7d1b70
Updates for telemetry in 4.6 (#1770)
garypretty Oct 17, 2019
a84f069
Merge branch 'live' into master
Kaiqb Oct 17, 2019
9857dfb
Release 'live' 10-17-2019 (#1774)
Kaiqb Oct 17, 2019
09b5c69
Update bot-builder-telemetry.md (#1775)
Kaiqb Oct 17, 2019
23138d5
Merge branch 'live' into master
Kaiqb Oct 17, 2019
9216ac5
Update bot-builder-telemetry.md
Kaiqb Oct 17, 2019
b8b2776
Release 'live' 10-17-2019 (#1776)
Kaiqb Oct 17, 2019
5a92a12
Update LUIS tutorial to call out includeApiResults (#1771)
garypretty Oct 17, 2019
709fd32
Merge branch 'live' into master
Kaiqb Oct 17, 2019
33b6719
Release 'live' 10-17-2019 (#1778)
Kaiqb Oct 17, 2019
2070d00
Tweak dialogs diagram (#1779)
JonathanFingold Oct 18, 2019
299edd0
Update bot-service-channel-connect-facebook.md (#1781)
Kaiqb Oct 28, 2019
e9c15df
Merge branch 'live' into master
Kaiqb Oct 28, 2019
b281974
Release 'live' 10-28-2019 (#1782)
Kaiqb Oct 28, 2019
4ccc308
Ignite-2019 branch --> master (#1788)
Kaiqb Nov 1, 2019
d06eeae
Merge branch 'live' into master
Kaiqb Nov 1, 2019
7913261
Release 'live' 11-01-2019 (Ignite) (#1789)
Kaiqb Nov 1, 2019
d22930a
Kaiqb/whatsnew (#1790)
Kaiqb Nov 1, 2019
157712f
Merge branch 'live' into master
Kaiqb Nov 1, 2019
4751c7b
Release 'live' 11-01-2019 (#1791)
Kaiqb Nov 2, 2019
0176f09
Update bot-builder-basics-teams.md (#1794)
WashingtonKayaker Nov 4, 2019
b29aef7
Kaiqb/speech (#1792)
Kaiqb Nov 4, 2019
9422ab1
Merge branch 'live' into master
Kaiqb Nov 4, 2019
3387b36
Update what-is-new.md
Kaiqb Nov 4, 2019
490810d
Release 'live' 11-04-2019 (#1796)
Kaiqb Nov 4, 2019
f257dde
Fix selected code-links (11/05) (#1798)
JonathanFingold Nov 6, 2019
60b8af3
Update bot-service-debug-inspection-middleware.md (#1800)
zxyanliu Nov 6, 2019
1163918
Update javascript-migration-quickreference.md (#1786)
Nov 6, 2019
8c96e6c
mm-azure-work-item-30108-auth (#1748)
Nov 6, 2019
753426b
mm-fixing-directline-issue-1335 (#1799)
Nov 6, 2019
53e0161
Fix code snippets in the following articles: (#1793)
JonathanFingold Nov 6, 2019
d6aaf39
mm-work-item-30646-faq (#1743)
Nov 6, 2019
9e66e23
Issue 1383 fix (#1797)
emgrol Nov 7, 2019
7069ffb
Update dialog-diagrams.pptx (#1807)
JonathanFingold Nov 7, 2019
e67ed4f
Fix selected code links (11/06) (#1804)
JonathanFingold Nov 7, 2019
5669bc9
Update bot-builder-telemetry.md (#1805)
WashingtonKayaker Nov 7, 2019
9af940b
Update bot-builder-authentication.md (#1809)
Nov 7, 2019
9a0c8a5
Merge branch 'live' into master
Kaiqb Nov 8, 2019
7c41cca
Update Direct Line Speech (#1810)
Kaiqb Nov 8, 2019
0ce4939
Release 'live' 11-11-2019 (#1811)
Kaiqb Nov 12, 2019
d9e87eb
Update index.yml (#1814)
Kaiqb Nov 12, 2019
b283a5d
Merge branch 'live' into master
Kaiqb Nov 12, 2019
312a459
Release 'live' 11-11-2019 (#1815)
Kaiqb Nov 12, 2019
e15d832
Issue 1375 fix (#1802)
emgrol Nov 12, 2019
2e744bd
M44898: Fixing typo give/given (#1812)
v-maudel Nov 13, 2019
f0e954d
mm-fixing-issue-1379 (#1808)
Nov 13, 2019
433d095
yl-fixes-issue (#1820)
zxyanliu Nov 15, 2019
da4357e
Addressing Issue #1421 (#1826)
WashingtonKayaker Nov 15, 2019
ae026e6
Update bot-service-review-guidelines.md (#1828)
zxyanliu Nov 18, 2019
244a93c
Clarify that it's the bot's app ID and password, not the user's (#1829)
JonathanFingold Nov 18, 2019
0762def
Update bot-service-channel-connect-email.md (#1839)
Kaiqb Nov 20, 2019
29a20c7
Merge branch 'live' into master
Kaiqb Nov 20, 2019
901e9ab
Merge branch 'community-content' into master
Kaiqb Nov 22, 2019
dcacda7
Release 'live' 11-20-2019 (#1840)
Kaiqb Nov 22, 2019
71777f6
Community content (#1856)
Kaiqb Nov 23, 2019
75ce895
Merge branch 'live' into master
Kaiqb Nov 23, 2019
dbc7eae
Release 'live' 11-22-2019 (#1857)
Kaiqb Nov 23, 2019
caaa664
Migration FAQ + bug fixes (#1858)
Kaiqb Nov 23, 2019
65f21af
Community content (#1860)
Kaiqb Nov 23, 2019
fb277d3
Merge branch 'live' into master
Kaiqb Nov 23, 2019
78da125
Relesae 'live' 11-22-2019 (#1861)
Kaiqb Nov 25, 2019
424ee0b
Community content (#1863)
Kaiqb Nov 25, 2019
7a02dae
Merge branch 'live' into master
Kaiqb Nov 25, 2019
2ddf0b0
Release 'live' 11-25-2019 (#1864)
Kaiqb Nov 25, 2019
b234c75
Community content (#1866)
Kaiqb Nov 25, 2019
0defc7d
Merge branch 'live' into master
Kaiqb Nov 25, 2019
6df2ac1
Release 'live' 11-25-2019 (#1867)
Kaiqb Nov 25, 2019
a4a437a
Merge branch 'master' into live
Kaiqb Nov 25, 2019
2ae9dc3
QnA-Telemtry (#1615) (#1869)
Kaiqb Nov 25, 2019
08f9dc9
Release 'live' 11-25-2019 (#1873)
Kaiqb Nov 26, 2019
a5f5d22
Release 'live' 11-26-2019 (#1878)
Kaiqb Nov 26, 2019
5dba300
Release 'live' 11-26-2019 (#1881)
Kaiqb Nov 26, 2019
0b91841
Release 'live' 11-27-2019 (#1884)
Kaiqb Nov 27, 2019
f5995bf
Merge branch 'live' into live-sync-work
Kaiqb Nov 27, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Prev Previous commit
Next Next commit
Release 'live' 08-26-2019 (#1681)
  • Loading branch information
emgrol authored Aug 26, 2019
commit 008aa6223aef800c3abccda9a7f72684959ce5e7
52 changes: 16 additions & 36 deletions articles/nodejs/bot-builder-nodejs-recognize-intent-messages.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@
title: Recognize intent from message content | Microsoft Docs
description: Learn how to recognize the user's intent by using regular expressions or checking the message content.
author: DeniseMak
ms.author: v-demak
ms.author: kamrani
manager: kamrani
ms.topic: article
ms.service: bot-service
ms.subservice: sdk
ms.date: 12/13/2017
monikerRange: 'azure-bot-service-3.0'
---
Expand All @@ -15,34 +14,34 @@ monikerRange: 'azure-bot-service-3.0'

[!INCLUDE [pre-release-label](../includes/pre-release-label-v3.md)]

When your bot receives a message from a user, your bot can use a **recognizer** to examine the message and determine intent. The intent provides a mapping from messages to dialogs to invoke. This article explains how to recognize intent using regular expressions or by inspecting the content of a message. For example, a bot can use regular expressions to check if a message contains the word "help" and invoke a help dialog. A bot can also check the properties of the user message, for example, to see if the user sent an image instead of text and invoke an image processing dialog.
When your bot receives a message from a user, your bot can use a **recognizer** to examine the message and determine intent. The intent provides a mapping from messages to dialogs to invoke. This article explains how to recognize intent using regular expressions or by inspecting the content of a message. For example, a bot can use regular expressions to check if a message contains the word "help" and invoke a help dialog. A bot can also check the properties of the user message, for example, to see if the user sent an image instead of text and invoke an image processing dialog.

> [!NOTE]
> For information on recognizing intent using LUIS, see [Recognize intents and entities with LUIS](bot-builder-nodejs-recognize-intent-luis.md)

> For information on recognizing intent using LUIS, see [Recognize intents and entities with LUIS](bot-builder-nodejs-recognize-intent-luis.md)

## Use the built-in regular expression recognizer
Use [RegExpRecognizer][RegExpRecognizer] to detect the user's intent using a regular expression. You can pass multiple expressions to the recognizer to support multiple languages.

Use [RegExpRecognizer][RegExpRecognizer] to detect the user's intent using a regular expression. You can pass multiple expressions to the recognizer to support multiple languages.

> [!TIP]
> See [Support localization](bot-builder-nodejs-localization.md) for more information on localizing your bot.

The following code creates a regular expression recognizer named `CancelIntent` and adds it to your bot. The recognizer in this example provides regular expressions for both the `en_us` and `ja_jp` locales.
The following code creates a regular expression recognizer named `CancelIntent` and adds it to your bot. The recognizer in this example provides regular expressions for both the `en_us` and `ja_jp` locales.

[!code-js[Add a regular expression recognizer (JavaScript)](../includes/code/node-regex-recognizer.js#addRegexRecognizer)]

Once the recognizer is added to your bot, attach a [triggerAction][triggerAction] to the dialog that you want the bot to invoke when the recognizer detects the intent. Use the [matches][matches] option to specify the intent name, as shown in the following code:
Once the recognizer is added to your bot, attach a [triggerAction][triggerAction] to the dialog that you want the bot to invoke when the recognizer detects the intent. Use the `matches` option to specify the intent name, as shown in the following code:

[!code-js[Map the CancelIntent recognizer to a cancel dialog (JavaScript)](../includes/code/node-regex-recognizer.js#bindCancelDialogToRegexRecognizer)]

Intent recognizers are global, which means that the recognizer will run for every message received from the user. If a recognizer detects an intent that is bound to a dialog using a `triggerAction`, it can trigger interruption of the currently active dialog. Allowing and handling interruptions is a flexible design that accounts for what users really do.

> [!TIP]
> [!TIP]
> To learn how a `triggerAction` works with dialogs, see [Managing conversation flow](bot-builder-nodejs-manage-conversation-flow.md). To learn more about the various actions you can associate with a recognized intent, [Handle user actions](bot-builder-nodejs-dialog-actions.md).

## Register a custom intent recognizer
You can also implement a custom recognizer. This example adds a simple recognizer that looks for the user to say 'help' or 'goodbye' but you could easily add a recognizer that does more complex processing, such as one that recognizes when the user sends an image.

You can also implement a custom recognizer. This example adds a simple recognizer that looks for the user to say 'help' or 'goodbye' but you could easily add a recognizer that does more complex processing, such as one that recognizes when the user sends an image.

[!code-js[Add a custom recognizer (JavaScript)](../includes/code/node-howto-recognize-intent.js#addCustomRecognizer)]

Expand All @@ -52,43 +51,24 @@ Once you've registered a recognizer, you can associate the recognizer with an ac

## Disambiguate between multiple intents

Your bot can register more than one recognizer. Notice that the custom recognizer example involves assigning a numerical score to each intent. This is done since your bot may have more than one recognizer, and the Bot Framework SDK provides built-in logic to disambiguate between intents returned by multiple recognizers. The score assigned to an intent is typically between 0.0 and 1.0, but a custom recognizer may define an intent greater than 1.1 to ensure that that intent will always be chosen by the Bot Framework SDK's disambiguation logic.
Your bot can register more than one recognizer. Notice that the custom recognizer example involves assigning a numerical score to each intent. This is done since your bot may have more than one recognizer, and the Bot Framework SDK provides built-in logic to disambiguate between intents returned by multiple recognizers. The score assigned to an intent is typically between 0.0 and 1.0, but a custom recognizer may define an intent greater than 1.1 to ensure that that intent will always be chosen by the Bot Framework SDK disambiguation logic.

By default, recognizers run in parallel, but you can set recognizeOrder in [IIntentRecognizerSetOptions][IntentRecognizerSetOptions] so the process quits as soon as your bot finds one that gives a score of 1.0.
By default, recognizers run in parallel, but you can set recognizeOrder in [IIntentRecognizerSetOptions][IIntentRecognizerSetOptions] so the process quits as soon as your bot finds one that gives a score of 1.0.

The Bot Framework SDK includes a [sample][DisambiguationSample] that demonstrates how to provide custom disambiguation logic in your bot by implementing [IDisambiguateRouteHandler][IDisambiguateRouteHandler].

## Next steps

The logic for using regular expressions and inspecting message contents can become complex, especially if your bot's conversational flow is open-ended. To help your bot handle a wider variety of textual and spoken input from users, you can use an intent recognition service like [LUIS][LUIS] to add natural language understanding to your bot.

> [!div class="nextstepaction"]
> [Recognize intents and entities with LUIS](bot-builder-nodejs-recognize-intent-luis.md)


[LUIS]: https://www.luis.ai/

[triggerAction]: https://docs.botframework.com/node/builder/chat-reference/classes/_botbuilder_d_.dialog.html#triggeraction

[matches]: https://docs.botframework.com/node/builder/chat-reference/interfaces/_botbuilder_d_.itriggeractionoptions.html#matches

[node-js-bot-how-to]: bot-builder-nodejs-recognize-intent-luis.md

[LUISAzureDocs]: /azure/cognitive-services/LUIS/Home

[IMessage]: http://docs.botframework.com/node/builder/chat-reference/interfaces/_botbuilder_d_.imessage

[IntentRecognizerSetOptions]: https://docs.botframework.com/node/builder/chat-reference/interfaces/_botbuilder_d_.iintentrecognizersetoptions.html

[LuisRecognizer]: https://docs.botframework.com/node/builder/chat-reference/classes/_botbuilder_d_.luisrecognizer

[LUISSample]: https://aka.ms/v3-js-luisSample

[LUISConcepts]: https://docs.botframework.com/node/builder/guides/understanding-natural-language/
[IDisambiguateRouteHandler]: https://docs.microsoft.com/javascript/api/botbuilder/idisambiguateroutehandler?view=botbuilder-ts-3.0
[IIntentRecognizerSetOptions]: https://docs.microsoft.com/javascript/api/botbuilder/iintentrecognizersetoptions?view=botbuilder-ts-3.0
[RegExpRecognizer]: https://docs.microsoft.com/javascript/api/botbuilder/regexprecognizer?view=botbuilder-ts-3.0
[triggerAction]: https://docs.microsoft.com/javascript/api/botbuilder/dialog?view=botbuilder-ts-3.0#triggeraction-itriggeractionoptions-

[DisambiguationSample]: https://aka.ms/v3-js-onDisambiguateRoute

[IDisambiguateRouteHandler]: https://docs.botframework.com/node/builder/chat-reference/interfaces/_botbuilder_d_.idisambiguateroutehandler.html

[RegExpRecognizer]: https://docs.botframework.com/node/builder/chat-reference/classes/_botbuilder_d_.regexprecognizer.html

[AlarmBot]: https://aka.ms/v3-js-luisSample
13 changes: 5 additions & 8 deletions articles/v4sdk/bot-builder-howto-handle-user-interrupt.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,11 @@ manager: kamrani
ms.topic: article
ms.service: bot-service
ms.date: 04/18/2019
ms.reviewer:
monikerRange: 'azure-bot-service-4.0'
---

# Handle user interruptions

<!-- Rebuild to link to published samples in the master branch -->

[!INCLUDE[applies-to](../includes/applies-to.md)]

Handling interruptions is an important aspect of a robust bot. Users will not always follow your defined conversation flow, step by step. They may try to ask a question in the middle of the process, or simply want to cancel it instead of completing it. In this topic, we will explore some common ways to handle user interruptions in your bot.
Expand Down Expand Up @@ -44,7 +41,7 @@ To use dialogs, install the **Microsoft.Bot.Builder.Dialogs** NuGet package.

We begin by implementing the `CancelAndHelpDialog` class to handle user interruptions.

[!code-csharp[Class signature](~/../botbuilder-samples/samples/csharp_dotnetcore/13.core-bot/Dialogs/CancelAndHelpDialog.cs?range=10)]
[!code-csharp[Class signature](~/../botbuilder-samples/samples/csharp_dotnetcore/13.core-bot/Dialogs/CancelAndHelpDialog.cs?range=12)]

In the `CancelAndHelpDialog` class the `OnContinueDialogAsync` method calls the `InerruptAsync` method to check if the user has interrupted the normal flow or not. If the flow is interrupted, base class methods are called; otherwise, the return value from the `InterruptAsync` is returned.

Expand Down Expand Up @@ -88,7 +85,7 @@ Now that we've covered how the interrupt handling class works, let's step back a

As the new message activity arrives, the bot runs the `MainDialog`. The `MainDialog` prompts the user for what it can help with. And then it starts the `BookingDialog` in the `MainDialog.ActStepAsync` method, with a call to `BeginDialogAsync` as shown below.

[!code-csharp[ActStepAsync](~/../botbuilder-samples/samples/csharp_dotnetcore/13.core-bot/Dialogs/MainDialog.cs?range=58-101&highlight=82-83)]
[!code-csharp[ActStepAsync](~/../botbuilder-samples/samples/csharp_dotnetcore/13.core-bot/Dialogs/MainDialog.cs?range=58-101&highlight=6,26)]

Next, in the `FinalStepAsync` method of the `MainDialog` class, the booking dialog ended and the booking is considered to be complete or cancelled.

Expand All @@ -102,7 +99,7 @@ The code in `BookingDialog` is not shown here as it is not directly related to i

As the new message activity arrives, the bot runs the `MainDialog`. The `MainDialog` prompts the user for what it can help with. And then it starts the `bookingDialog` in the `MainDialog.actStep` method, with a call to `beginDialog` as shown below.

[!code-javascript[Act step](~/../botbuilder-samples/samples/javascript_nodejs/13.core-bot/dialogs/mainDialog.js?range=90-97&highlight=96-97)]
[!code-javascript[Act step](~/../botbuilder-samples/samples/javascript_nodejs/13.core-bot/dialogs/mainDialog.js?range=71-112&highlight=6,27)]

Next, in the `finalStep` method of the `MainDialog` class, the booking dialog ended and the booking is considered to be complete or cancelled.

Expand Down Expand Up @@ -142,7 +139,7 @@ In our sample, the adapter's `onTurnError` handler receives any exceptions throw

Finally, in `Startup.cs`, the bot is created as a transient, and on every turn, a new instance of the bot is created.

[!code-csharp[Add transient bot](~/../botbuilder-samples/samples/csharp_dotnetcore/13.core-bot/Startup.cs?range=47-48)]
[!code-csharp[Add transient bot](~/../botbuilder-samples/samples/csharp_dotnetcore/13.core-bot/Startup.cs?range=43-44)]

For reference, here are the class definitions that are used in the call to create the bot above.

Expand All @@ -156,7 +153,7 @@ For reference, here are the class definitions that are used in the call to creat

Finally, in `index.js`, the bot is created.

[!code-javascript[Create bot](~/../botbuilder-samples/samples/javascript_nodejs/13.core-bot/index.js?range=69-73)]
[!code-javascript[Create bot](~/../botbuilder-samples/samples/javascript_nodejs/13.core-bot/index.js?range=65)]

For reference, here are the class definitions that are used in the call to create the bot above.

Expand Down
4 changes: 2 additions & 2 deletions articles/v4sdk/bot-builder-howto-proactive-message.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ The second controller, the _notify_ controller, is responsible for sending the p
Each time the bot's notify page is requested, the notify controller retrieves the conversation references from the dictionary.
The controller then uses the `ContinueConversationAsync` and `BotCallback` methods to send the proactive message.

[!code-csharp[Notify logic](~/../botbuilder-samples/samples/csharp_dotnetcore/16.proactive-messages/Controllers/NotifyController.cs?range=17-59&highlight=28,40-43)]
[!code-csharp[Notify logic](~/../botbuilder-samples/samples/csharp_dotnetcore/16.proactive-messages/Controllers/NotifyController.cs?range=17-60&highlight=28,40-43)]

To send a proactive message, the adapter requires an app ID for the bot. In a production environment, you can use the bot's app ID. In a local test environment, you can use any GUID. If the bot is not currently assigned an app ID, the notify controller self-generates a placeholder ID to use for the call.

Expand All @@ -88,7 +88,7 @@ Each time the server's `/api/notify` page is requested, the server retrieves the
The server then uses the `continueConversation` method to send the proactive message.
The parameter to `continueConversation` is a function that serves as the bot's turn handler for this turn.

[!code-javascript[Notify logic](~/../botbuilder-samples/samples/javascript_nodejs/16.proactive-messages/index.js?range=56-62&highlight=4-5)]
[!code-javascript[Notify logic](~/../botbuilder-samples/samples/javascript_nodejs/16.proactive-messages/index.js?range=56-68&highlight=4-5)]

---

Expand Down
Loading