page_type | description | products | languages | extensions | urlFragment | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sample |
Sample app which demonstrates how a bot can receive all channel messages with RSC without @mention. |
|
|
|
officedev-microsoft-teams-samples-bot-receive-channel-messages-withRSC-csharp |
Using this C# sample, a bot can receive all channel messages with RSC without @mention.
This feature shown in this sample is currently available in Public Developer Preview only.
- Bots
- Adaptive Cards
- RSC Permissions
Please find below demo manifest which is deployed on Microsoft Azure and you can try it yourself by uploading the app package (.zip file link below) to your teams and/or as a personal app. (Sideloading must be enabled for your tenant, see steps here).
Receive Channel messages with RSC permissions: Manifest
-
.NET Core SDK version 6.0
determine dotnet version
dotnet --version
-
Ngrok (For local environment testing) Latest (any other tunneling software can also be used)
-
Teams Microsoft Teams is installed and you have an account
-
Register a new application in the Azure Active Directory – App Registrations portal.
-
Setup for Bot
- Register a AAD aap registration in Azure portal.
- Also, register a bot with Azure Bot Service, following the instructions here.
- Ensure that you've enabled the Teams Channel
- While registering the bot, use
https://<your_ngrok_url>/api/messages
as the messaging endpoint.
- Setup Ngrok
- Run ngrok - point to port 3978
ngrok http 3978 --host-header="localhost:3978"
- Setup for code
-
Clone the repository
git clone https://github.com/OfficeDev/Microsoft-Teams-Samples.git
-
Modify the
/appsettings.json
and fill in the following details:{{BOT-ID}}
- Generated from Step 1 while doing AAd app registration in Azure portal.{{BOT-PASSWORD}}
-Generated from Step 1, also referred to as Client secret
-
Run in Visual Studio
- Launch Visual Studio
- File -> Open -> Project/Solution
- Navigate to
ReceiveMessagesWithRSC
folder - Select
ReceiveMessagesWithRSC.csproj
file - Press
F5
to run the project
- This step is specific to Teams.
-
Edit the
manifest.json
contained in theAppManifest
folder to replace your Microsoft App Id (that was created when you registered your bot earlier) everywhere you see the place holder string<<YOUR-MICROSOFT-APP-ID>>
(depending on the scenario the Microsoft App Id may occur multiple times in themanifest.json
) also update the<<DOMAIN-NAME>>
with the ngrok URL` -
Edit the
manifest.json
for<<MANIFEST-ID>>
replace it with anyGUID
using guid generator. -
Edit the
manifest.json
forwebApplicationInfo
resource"api://botid-{{MicrosoftAppId}}"
with MicrosoftAppId. E.g."api://botid-{{MicrosoftAppId}}"
. -
Zip up the contents of the
AppManifest
folder to create amanifest.zip
-
Sideload in a team to test
- Select or create a team
- Select the ellipses ... from the left pane. The drop-down menu appears.
- Select Manage Team, then select Apps
- Then select Upload a custom app from the lower right corner.
- Then select the
manifest.zip
file fromAppManifest
, and then select Add to add the bot to your selected team.
-
Note: If you are facing any issue in your app, please uncomment this line and put your debugger for local debug.
Select a channel and enter a message in the channel for your bot.
The bot receives the message without being @mentioned.
- Showing Welcome message
- Showing messages based on option selected
- Adding to group chat
- Receives messages in group chat without being @mentioned.
To learn more about deploying a bot to Azure, see Deploy your bot to Azure for a complete list of deployment instructions.