I am currently trying to create a chatbot for my organization. It is meant to be simple, and easy to use.
I started by using Azure's Language Service to create a Custom Question Answer Solution
Once the language model was deployed to an endpoint, I used the built-in 'Create a Bot' button to generate a bot in our Azure subscription
Now, this works, and produces a chatbot that can be used in different applications. But, my goal is to be able to test changes to the bot code, without having to upload them to Azure's cloud.
So, I downloaded the bot's source code, and stored that in a public repository on my GitHub account
Lastly, I entered a virtual machine (no public IP available - organization restrictions), cloned the repository, then used the 'npm install' and 'npm start' combo to start the bot locally with the Bot Framework Emulator
I realized that there was no .env file because of gitignore, so I created one and added the lines:
LanguageServiceEndpointHostName=...
LanguageServiceEndpointKey=...
MicrosoftAppId=...
MicrosoftAppTenantId=...
MicrosoftAppType=...
ProjectName=...
This is usually an app settings issue. With Bot Framework there are a lot of different app settings. You have your Azure Bot, Azure App Service, Azure App Registration, potentially a Teams manifest as well.
When debugging locally, and as long as you haven't implemented SSO or some other oAuth config, try to set the Azure Bot app settings to empty strings and run the emulator.
MicrosoftAppId=""
MicrosoftAppTenantId=""
MicrosoftAppType=""
If you have authentication enabled then I suggest to run ngrok locally, update your Azure Bot resource Configuration messaging endpoint to the ngrok url + /api/messages. Then you can debug live in the channel you have activated EG MS Teams.