Skip to content

Instantly share code, notes, and snippets.

@skwirrel

skwirrel/README.md

Last active May 14, 2020
Embed
What would you like to do?
Javascript Console Hack for Getting NonVerbal Communication In a Zoom Meeting

Getting A Summary of Nonverbal Communication In a Zoom Meeting

For the background to this gist see here: https://devforum.zoom.us/t/getting-meeting-participants-with-raised-hand/10718/9

Here is the solution I had to resort to for getting a list of nonverbal communication from a Zoom meeting.

I have a meeting with 100’s of participants and we wanted to run a simple impromptu “show of hands” poll without using the specific polling feature. All I needed was a list of all the attendees with their hand raised at a certain point in time…

Usage

  1. Join the meeting using the web browser NOT the Zoom client. This requires following the small "Join meeting in browser" link on the meeting joining web page.
  2. Open up the Participant panel (and then the attendees section if its a webinar)
  3. Hit F12 (or Ctrl-Shift-I) to get the developer console up
  4. Paste the code below into the console.

This will list all participants grouped by non-verbal communication (with anyone who has no nonverbal communication active listed in a “The Rest” category). It shows the number in each group in bracktes in the heading of each grouping.

It will also automatically copy the result to the clipboard for you - oh… and it adds the date and time at the top.

Once you have pasted the above code you can re-run it at any point during the meeting by just running this in the console… getNonVerbal();

WARNINGS

  • THIS IS VERY HACKY.
  • I have only tested it in Chrome. YMMV.
  • Any changes (by Zoom) to the way that the Zoom interface is laid out or coded will break this.
function copyText(text) {
// Copy the output to the clipboard
var textArea = document.createElement("textarea");
textArea.value = text;
// Avoid scrolling to bottom
textArea.style.top = "0";
textArea.style.left = "0";
textArea.style.position = "fixed";
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
var successful = document.execCommand('copy');
document.body.removeChild(textArea);
}
function getNonVerbal() {
allParticipants = jQuery('li.participants-li');
output='Nonverbal Communication as at '+(new Date())+"\n\n";
for (let [nonverbal, selector] of Object.entries({
'Raised Hand':'i.participants-icon__participants-raisehand',
'Yes':'i.nonverbal-icon.yes-icon',
'No':'i.nonverbal-icon.no-icon',
'Slower':'i.nonverbal-icon.slower-icon',
'Faster':'i.nonverbal-icon.faster-icon',
'Thumbs Down':'i.nonverbal-icon.dislike-icon',
'Thumbs Up':'i.nonverbal-icon.like-icon',
'Clapping':'i.nonverbal-icon.clap-icon',
'Coffee':'i.nonverbal-icon.coffee-icon',
'Away':'i.nonverbal-icon.away-icon',
'The Rest':'',
})) {
var people = [];
var matching;
if (!selector) matching = allParticipants;
else matching = jQuery(selector).closest('li.participants-li')
matching.each(function(){
people.push($(this).find('span.participants-item__name-section').text());
allParticipants = allParticipants.not('#'+this.id);
});
if (people.length) {
output += nonverbal+" ("+people.length+")\n";
output += "============================================================\n";
output += people.join("\n");
output += "\n\n";
}
}
copyText(output);
console.log(output);
console.log('This should have been copied to the clipboard for you');
}
getNonVerbal();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment