The bot is working for Google Meeting, Microsoft Teams, Zooms
Product Roadmap &
Features:
Python Automation Selenium WebRTC WebSocket
(the following commands are run on a linux machine from the root folder)
Node - 22 ( This is what I run. It shouldn't really matter as long as its a recent version ) Python - 3.10+
- Installing gstreamer ````
apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio gstreamer1.0-nice
- Installing chrome using wget
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install ./google-chrome-stable_current_amd64.deb
- Installing gobject-introspection
sudo apt-get install libgirepository1.0-dev
- Installing python-development packages
sudo apt install libcairo2-dev pkg-config python3-dev
- Setting up a pulse audio sink ( install pulseaudio if command not found )
pactl load-module module-null-sink sink_name=chrome_sink sink_properties=device.description="Chrome_Sink"
If you get an error like 'Access is denied' or something, You might want to add current user to pulse-access group
- Installing xvfb for headless mode
sudo apt install xvfb
- Clone project. Switch to
v2branch. - Navigate to
.envfolder and comment outDEV = 'True'. SettingDEV = 'False'won't be enough. - Create virtual python environment
virtualenv venv
- Switch to virtual environment
source venv/bin/activate
- Navigate to project root
- Install requirements.
pip install -r requirements.txt
- Give executable permissions to launchers.
chmod +x *.sh
- Running fastapi server. Must be run from project root. Otherwise, launchers are recreated and executable permissions must be re-issued. We are using development mode for the demo
fastapi dev src/app.py
Node server must be running on port 7000 for the bots to function properly
- Run bots from either calling the http endpoints or navigating to
http://localhost:8000/docsinterface
- Navigate to
src/node_backend - Run
npm i - Run
node server.js
- Navigate to
src/frontend - Run
npm i - Run
npm start - Your default browser should automatically open. If it doesn't, go to
http://localhost:3000
- You can use whatever tool you like to issue a POST request to
http://localhost:8000/call/gmeetfor google meet orhttp://localhost:8000/call/teamsfor teams orhttp://localhost:8000/call/zoomfor zoom. - Make sure to send the meeting link in the body as below:
{meetingLink: ""}- You can use the graphical tool at
http://localhost:8000/docsIf you are familiar with the swagger API docs