I wanted to build a small Bot for MS Teams who can remove noise from incoming users audio Stream. The edited audio stream should then be passed on to the call participants.
I already searched the Bot documentation on Microsoft but didn't find a definite yes or no.
Can someone please elaborate?
Thank you so much in advance!
You can get the call information using calling bot. Calling bot is used to call and join the meetings, You will receive an event when bot joins the call there you can perform the required actions. Here is the document for calling Bot and Example
Related
I have created a bot using bot framework (.net) with application hosted media using the sample provided here. Bot attends any incoming peer to peer or group calls in Microsoft Teams. While in the meeting I am able to receive audio buffers as participants speak up in AudioMediaReceived event handler inside CallHandler.cs class provided in the samples. Now I want to generate transcript out of it. I want some guidance about:
Can this be done at the end of the meeting, I am confused as it's stated on a number of places (1)(2) that
"You may not use this SDK to record or otherwise persist media content
from calls or meetings that your bot accesses"
.
In which scenario this fits? Is it possible to generate wave(.wav) file out of the byte array (UnmixedAudioBuffer data) received and use that for transcription at the end of the meeting?
Since we receive audio frames at a very quick pace (50 frames per second), If I am to generate the transcript asynchronously and real time, how should I do it. Is it about converting buffer data to .wav or in memory stream and using some cloud speech service/API?
There's a speech service provided by Microsoft as well as speech to text resource provided by Google cloud.
your guidance is highly appreciated.
It's a bad idea to try to get a bot to transcribe meetings for you for the reasons you've already seen. However, you're in luck because Microsoft already transcribes meetings automatically.
You can record a meeting in Teams by following the instructions here: https://support.microsoft.com/en-us/office/record-a-meeting-in-teams-34dfbe7f-b07d-4a27-b4c6-de62f1348c24
If you save the recorded meeting to Microsoft Stream then you can even edit the transcript. If you save the meeting to OneDrive and SharePoint then this page implies the feature should be available in the future: https://support.microsoft.com/en-us/office/edit-the-transcript-of-a-meeting-recording-in-teams-2f461386-e39a-4444-b9e2-5787da1da11b
I'm trying to send files to a channel in Teams, but I've found examples of asking a bot for something (for example I write 1 and he send me an image), and the bot's able send images or files like attachments (I don't need adaptive cards or message cards if your idea is Incoming webhook).
I need to send with a schedule request attachment files to teams, is that possible? For example, if such is possible to send a set of image attachment every 1 hour.
Thanks
In case this is still not resolved.
Please take a look at Send and receive files through your bot doc to see how your bot can send/receive file attachments.
For bot to trigger message based on backend trigger, please take a look at Send
proactive messages.
Sample code for both of these scenarios can be found in Bot Framework sample code repo.
I have developed a bot in MS Teams and i want to fetch the channel Ids where the bot is installed and can send the messages.
Any ideas how to do this, thanks a lot
You can only really do this when there's an interaction from the user, so for example when the user sends your bot a message. The best time of all, however, is when your bot is actually installed, because then you have it right from the beginning. You use the ConversationUpdate event, as described here.
If it's too late for that (your bot is installed already), then I'm only aware of waiting for the next message - I'm not sure if it's possible to get things like the conversation id another way.
I have an adaptive card and I want to add a button that has call functionality to a specific person in this card "the person is in my organization microsft team". How can I create a call via deeplink to audio call?
Edit:
This link will redirect to the chat window with the user:
https://teams.microsoft.com/l/chat/0/0?users=
How can I do the same but for audio/ video calls?
You will need to implement calling in your Bot to be able to make audio calls using Bot. Please go through Calling and Meeting Bot overview. Here are few samples to try out.
https://github.com/microsoftgraph/microsoft-graph-comms-samples/tree/master/Samples/V1.0Samples/LocalMediaSamples
Here is the equivalent link for calls:
https://teams.microsoft.com/l/call/0/0?users=user#domain.ext
And if you're not worried about users who don't have the Teams app installed, you can try:
msteams://teams.microsoft.com/l/call/0/0?users=user#domain.ext
This latter link will not go through the browser. It will however pop up a message requesting permission to open the app. Choose your poison.
Have the bot working just fine via SMS. Now looking for the best way to retrieve the User's phone number being used in the SMS conversation.
Seems like it should be pretty straight forward (easy to do in a native Twilio app), but just not finding the example code or way to get at it from within the Bot Framework using the C# libraries.
I played a bit with the ChannelData off of Activity, but it's not there or I'm not using it correctly.
Any pointers to relevant documentation or sample code would be tremendously helpful!
Your bot's Post handler receives a list of Microsoft.Bot.Connector.Activity when end users message the bot. Each Activity has a "From" Channel Account that contains an "Id" and "Name". You can find the Twilio phone number there.