Google Hangouts - controlling other participants video - google-api

I'm thinking about creating sort of helper application for friend to enjoy paper RPG through internet.
I was thinking about using Hangouts API, however I have.
Is there a way of temporarily exclude some of the participants from running conversation? They can see other data on app, but should hear nor see other participants.
Is there a way of creating a private conversation within group conversation? So private participants will disappear from group, and after finishing the would automatically be reconnected to group conversation?
I'm reviewing Hangouts API, but I'm not finding answers. Or maybe I should look into WebRTC instead of Hangouts?
Thanks

What you're describing is... another Hangout or WebRTC session ;). You could always develop your own Hangout Extension to share specific info with selected participants who are also using your extension.
You could also have your Hangout session be the main conversation with all parties, while you use Join.me, Zoom.us or WebRTC to screenshare privately with your friend.

Related

Possibility of using specific Teams features in a custom web chat app

Our internal employees are all using Teams. I'm researching how feasible it would be to use certain features of Teams for a custom web chat app. The actual back and forth conversation would not take place in Teams...it would be something I would build, possibly using SignalR.
The custom web chat application should allow our customers the ability to:
See the Teams status of an employee (Online/Offline)
Click on the employee to enter a chat room. (This chat room would be something I would create, possibly using SignalR)
I was wondering if it is possible to do the following with Teams:
Get the Online/Offline status of a user in Teams and display that in a custom web app.
Send data to a specific Teams user from a web app. (For example: when a customer clicks on an employee in the custom web app to start a chat, send a link to the employee that would send them to the chat room.)
Are these two things possible using Teams?
Wow, this is an unusual scenario, had to think a bit about that! In terms of (1) I'm not sure about anything for that it Teams (it might exist, but not something I'm aware of), but perhaps the Microsoft Graph has a capability for that. This might help.
Regarding item 2, do the customers have Teams? If so, you can deep link directly into a chat with the specific employee. If not, are you wanting the end user to use, say, a bot on the web app, but the employee to be using Teams? If so, who would they be "Chatting" to? Would it be ok for the chat to be with a custom bot inside Teams? If so, you should look more at the concept of "Pro-active chat" in Teams (to initiate the new/latest conversation from the bot to the user). The only drawback is if they are "chatting" to multiple people at once this wouldn't work, because each customer's interaction would come in to the same chat window in the Bot.

Migrate channels to hangouts chat rooms

my organization was using Slack, and decided to move to Google Hangouts Chat. I used channels to coordinate with different teams. How do i migrate these users to Hangouts Chat rooms?
(Issue) Chat rooms allow duplicates, and are created private. So new users cannot see them & join. They end up creating copies of a similar common room each time.
Either of the following kinds of options are fine with me.
Export users list email-addresses from my Slack channel. Import these users into Chat as #email-id . I can't seem to get the email-list from Slack
Send Chat room shareable invite link to channel users. Google Chat rooms don't give shareable invite link.
As Erik said, the operation you are looking for is users.list. Though you need to ensure you have users:read and users:read.email set in your environment. This will also give you a bunch of empty entries though, as it will include all bots and apps on your workspace, which do not have emails.
I wrote a quick app using Transposit (disclaimer: I work for them) that you can fork here that will return an array of all valid emails in a Slack organization for you. Authenticate with Slack, and it should work by just running get_emails.js.
Unfortunately, we do not yet have a Hangouts connector, so we can't automate the whole process through this app, but I hope you find it helpful! Let me know if you have any questions in a DM, or message us at support#transposit.com.
Best,
Griffin, Developer Advocate at Transposit

Sharing same conversation with multiple bots

Question: How to have multiple bots supplying answers to the same Teams chat window a user has with an aggregator bot.
Description:
Several different teams have created bots that can answer questions related to their areas. Picture a services bot, a catalog bot, etc. All of these bots are maintained by their individual area owners, have their own sets of LUIS intents, etc. That works great, but you have to know where to look for each type of question.
Now we'd like to have a single bot for anyone to connect to, to get their questions answered no matter what area the question falls into. The idea is that this aggregator bot would then forward the questions to the appropriate area bot, which would then provide the answer. The scenario here is that someone troubleshooting an issue could ask questions crossing multiple areas in the same place without having to know about each individual area's bot.
The bots are currently hosted in Teams and are C#. So far, our solution has this flow:
Aggregator bot receives the question and asks each bot (through another endpoint specific to this flow) how confident it is that it can answer the question.
Aggregator bot decides which bot(s) to ask the question to, and sends the question off to the regular /api/messages endpoint for the bot.
[Broken] Area bot posts the answer/ auth prompt if needed/ or the start of a conversation to clarify the eventual answer.
We found the bot-to-bot handoff project, but in the readme.MD, it says:
Note: The main bot and each of the sub-bots share the same AppID and
AppPassword. This allows all the bots to share the same conversation
ID, Dialog
Stack,
and Bot State
Data.
This is not possible in Azure, because you can't create multiple bots with the same AppId.
Trying a hack based on that, we found that if we change the bot configuration to use the same MicrosoftAppId and MicrosoftAppPassword in the Application Settings in Azure for all the bots, then everything works fine through the aggregator bot. At that point, you can no longer connect directly to the individual bots anymore. While that is clearly a hack and not a solution, it implies that the problem is authentication based and not something that is implicitly impossible.
There are lots of pieces around that seem like they might help, but we haven't found the documentation to fit them together. This seems like something that should be a common scenario. Ideally we could specify some kind of bot trust at a higher level and not have to specify AppId and AppPassword directly, though we're willing to do that in this case since we're all the same company.
Things we've tried:
Using TrustServiceUrl to trust the aggregator bot from each area
bot, and all the area bots from the aggregator bot. The call was
made in Application_Start in Global.asax for each bot.
The hack described above
Specifying AppId and AppPassword in the BotAuthentication attribute
Number 3 actually solved the auth problem for letting the aggregator bot ask each bot for it's confidence in answering the question when we used it to tag those functions. Specifying the AppId and AppPassword for the aggregator bot in the specification for that endpoint in the individual area bots worked great. But it didn't fix the ability for the individual area bot to post back to the conversation owned by the aggregator bot. In that case, the aggregator bot itself is consuming the answer, and it is an answer and not a flow.
What do we try from here? Is there something we've missed, or is there something fundamentally wrong with the approach we've started with?

Skype BotFramework answer calls automatically

I am using Node.js to create Skype bots. I want my bot to answer calls automatically from selected contacts and create a group voice chat consisting of bot, caller, and me. I couldn't understand the documentation much. Is there a way to do it? If yes, can you give me a brief example?
Thank you.
Bots are not supported in group calls right now because of privacy reasons.
Group calling for media bots has been disabled because the Skype clients do not have currently have the appropriate privacy controls in place to inform the participants that a bot can hear and/or see them.
There is no timeframe available regarding when calling/real-time media bots will be supported in group calls. For now, calling and real-time media bots are allowed only in 1-to-1 Skype calls.

Starting a hangout with a list of users invited

I have a website where is discussion is happening among some people with valid gmail ids. If one of them in the discussion clicks on the google hangout button, I need to start a hangout with the list of users in the discussion invited already i.e. I need to avoid the Add Participant popup that comes up when the hangout app is opened. Is there a way to do this? I explored the documentation and I couldn't find any API to invite a participant.
To the best of my knowledge (and more than willing to be corrected), there isn't a way to trigger a hangout with a set of participants. There is a bit of a hack using the calendar API though - you could create a calendar entry in a calendar set to automatically create hangouts, and invite everyone that way. I had an old blog post on it: http://www.riskcompletefailure.com/2012/11/programmatically-scheduling-hangouts.html
I believe this is new capability since the question was asked, but it is now possible to create a hangout button which starts a hangout with a list of users invited (based upon G+ Profile Id, G+ Circle Id, or Email Address).
See details at https://developers.google.com/+/hangouts/button#invite_parameters.
Note: The list is only a suggestion to the user that starts the Hangout. Before the Hangout begins, that user will be able to skip the invite or change the list of people.

Resources