🤖 Invite the Bot to your server
October 12th, 2020 - MLH Fellowship Orientation Hackathon Project
by Aayush Joglekar, Gagan Deep and Rishi Raj Singh.
Kaal is a productivity suite with a beautiful CLI ✨ and Discord Bot 🤖. Kaal shows the fellows' work time and productivity at a glance within Discord and a simple CLI tool to track each fellow's coding routine while working for the fellowship. 💪
— Gamify the pod's productivity!
- Python3: Installation Steps
- Clone the repository:
https://github.com/MLH-Fellowship/pod_1.0.2_moropy.git
- Type
sudo apt-get install xdotool
- Head over to the cloned repository's
kaal_cli
folder and typepip3 install -r requirements.txt
- All the dependencies will be installed and the project is good to go! 🎉
- Type
!register
command in the Kaal enabled Discord channel and it'll return yourSecret Code
🤫 in the DM. - Head over to the repository and type
./moropy.py register
and paste theSecret Code
. - When you wish to start the work, type
./moropy.py checkin
and it'll start watching the softwares open. 👀 - When it's time to stop the work, type
./moropy.py checkout
, the CLI will check you out and stop watching the windows. 😌
This project was inspired by WakaTime and the amazing Discord Bots!
Using this project, the productivity of the pod can be monitored without invading the privacy and can be used to have a healthy competition within the pod. The pod leader (or anyone in the channel) can see the performance of all fellows in that week (or all-time data) in the form of a leaderboard. 🧑🏻💻
-
Flask 1️⃣
Flask is being used as the backend server to listen for updates from CLI, managing database and listening to the discord bot.
-
Click 2️⃣
Click package manages the beautiful CLI and triggers background scripts for listening to window changes.
-
discord.py
helps to provision the REST APIs for the bot-server communication. -
Firestore is being used as the primary database.
-
Heroku hosts the backend server for the Bot and CLI.
-
xdotool is a linux package to listen to the active window process ID.
Remember the rules!
It's not about:
- how good your code is,
- how novel the idea is, or
- how useful the project is.
It is about:
- Impressive: People's wows are on record! Check Discord!
- Design: A snappy 24/7 available bot and a beautiful CLI 🌠
- Completion: Our hack works completely!
- Learning: Discord Bot, Authorization, Bash Scripting and Flask!
- OSS practices: Plentiful commits, Code reviews, Kanban boards, issues, branches, PRs!
- Approved tech: Flask, Click
In short:
Sometimes a pointless project is one of the best hacks!
—MLH Hackathon Rules