I wish I could set up a livestream of hq’s main meetup space in a huddle on slack that runs 24/7. Wanna talk to someone at hq? Just open the huddle. Call it hq-fishbowl and have a warning that you’ll spook the staff if you tap the glass! -msw
This project is a bot that creates a 24/7 huddle, acting as a live camera or portal to Hack Club HQ. It's a virtual window into the space, allowing anyone to pop in and see what's happening.
Normally, you'd automate a browser to join Slack huddles. But that can trigger captchas and other security checks. This project skips that by interacting directly with AWS services as soon as possible using undocumented API. You get to send pretty much any video/audio feed you want without any hassle. It's cool and reliable. The control panel and SDK runs on firefox for webrtc etc.
Here's the control panel with chat and controls:
And the bot in action during a huddle:
- Clone the repo and install dependencies:
npm install
. - Get your Slack cookies: You need some cookies to authenticate. Check out this quick video on how to grab them: Video. Basically, log into Slack in your browser, open dev tools, and snag the relevant cookies for your .env file.
- Manifest for the Bot: Use the
manifest.json
to configure the bot's scopes and settings for your Slack workspace. - Configure .env: Add your cookies, bot token, and other required variables from
.env.example
. - Run it: Fire up the server with
node bot.js
. The bot will join the channel's huddle and start streaming.
Currently things are configured for a Pi, some things need to be adjusted!
Use the bottom bar icons on the control panel to toggle mute, camera, and audio output. Red means off, green means on. Simple!
amazon-chime-sdk.min.js
is the minified AWS Chime SDK, licensed under the Apache License 2.0. For more details, see the AWS Chime SDK repository.
Made with sharktastic 💙 for Hack Club