page_type | products | languages | title | description | extensions | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
sample |
|
|
Microsoft Teams NodeJS Helloworld Sample |
Microsoft Teams hello world sample app in Node.js |
|
More information for this sample - and for how to get started with Microsoft Teams development in general - is found in Get started on the Microsoft Teams platform with Node.js and App Studio.
This sample can be run locally using ngrok
as described in the official documentation, but you'll need to set up some environment variables. There are many ways to do this, but the easiest, if you are using Visual Studio Code, is to add a launch configuration:
[...]
{
"type": "node",
"request": "launch",
"name": "Launch - Teams Debug",
"program": "${workspaceRoot}/src/app.js",
"cwd": "${workspaceFolder}/src",
"env": {
"BASE_URI": "https://########.ngrok.io",
"MICROSOFT_APP_ID": "00000000-0000-0000-0000-000000000000",
"MICROSOFT_APP_PASSWORD": "yourBotAppPassword",
"NODE_DEBUG": "botbuilder",
"SUPPRESS_NO_CONFIG_WARNING": "y",
"NODE_CONFIG_DIR": "../config"
}
[...]
Where:
########
matches your actual ngrok URLMICROSOFT_APP_ID
andMICROSOFT_APP_PASSWORD
is the ID and password, respectively, for your botNODE_DEBUG
will show you what's happening in your bot in the Visual Studio Code debug consoleNODE_CONFIG_DIR
points to the directory at the root of the repository (by default, when the app is run locally, it looks for it in thesrc
folder)
The easiest way to deploy to Azure is to use Visual Studio Code with Azure extensions. There are many extensions for Azure - you can get all of them at once by installing the Node Pack for Azure or you can install just the Azure App Service extension.
Once you've installed the extensions, you'll see a new Azure icon on the left in Visual Studio Code. Click on the + icon to create a new web app. Once you've created your web app:
-
Add the following Application Settings (environment variables):
MICROSOFT_APP_ID=<YOUR BOT'S APP ID> MICROSOFT_APP_PASSWORD=<YOUR BOT'S APP PASSWORD> WEBSITE_NODE_DEFAULT_VERSION=8.9.4
-
Configure the Deployment Source for your app (either your local copy of this repository or one you've forked on GitHub).
-
Deploy your web app. Visual Studio Code will tell you when you are done.
Since this repo was optimized for Azure App Service, which runs on Linux, the .deployment
file references bash deploy.sh
. There's also a deploy.cmd
if you want to deploy to Azure running Node.js on Windows. If you do, change .deployment
to this instead:
[config]
command = deploy.cmd
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
More information for this sample - and for how to get started with Microsoft Teams development in general - is found in Get started on the Microsoft Teams platform with Node.js and App Studio.
This sample can be run locally using ngrok
as described in the official documentation, but you'll need to set up some environment variables. There are many ways to do this, but the easiest, if you are using Visual Studio Code, is to add a launch configuration:
[...]
{
"type": "node",
"request": "launch",
"name": "Launch - Teams Debug",
"program": "${workspaceRoot}/src/app.js",
"cwd": "${workspaceFolder}/src",
"env": {
"BASE_URI": "https://########.ngrok.io",
"MICROSOFT_APP_ID": "00000000-0000-0000-0000-000000000000",
"MICROSOFT_APP_PASSWORD": "yourBotAppPassword",
"NODE_DEBUG": "botbuilder",
"SUPPRESS_NO_CONFIG_WARNING": "y",
"NODE_CONFIG_DIR": "../config"
}
[...]
Where:
########
matches your actual ngrok URLMICROSOFT_APP_ID
andMICROSOFT_APP_PASSWORD
is the ID and password, respectively, for your botNODE_DEBUG
will show you what's happening in your bot in the Visual Studio Code debug consoleNODE_CONFIG_DIR
points to the directory at the root of the repository (by default, when the app is run locally, it looks for it in thesrc
folder)
The easiest way to deploy to Azure is to use Visual Studio Code with Azure extensions. There are many extensions for Azure - you can get all of them at once by installing the Node Pack for Azure or you can install just the Azure App Service extension.
Once you've installed the extensions, you'll see a new Azure icon on the left in Visual Studio Code. Click on the + icon to create a new web app. Once you've created your web app:
-
Add the following Application Settings (environment variables):
MICROSOFT_APP_ID=<YOUR BOT'S APP ID> MICROSOFT_APP_PASSWORD=<YOUR BOT'S APP PASSWORD> WEBSITE_NODE_DEFAULT_VERSION=8.9.4
-
Configure the Deployment Source for your app (either your local copy of this repository or one you've forked on GitHub).
-
Deploy your web app. Visual Studio Code will tell you when you are done.
Since this repo was optimized for Azure App Service, which runs on Linux, the .deployment
file references bash deploy.sh
. There's also a deploy.cmd
if you want to deploy to Azure running Node.js on Windows. If you do, change .deployment
to this instead:
[config]
command = deploy.cmd
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
-
If you are getting an error with
npm install
try deletingpackage-lock.json
and re-runningnpm install
-
If you are getting
Uncaught SyntaxError: Unexpected identifier
for the first import statement inapp.js
runnpm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/node