LDRBot stands for LinkedIn Daily (games) Ranking Bot — a Telegram bot that automates score tracking and leaderboard generation for LinkedIn’s daily puzzle games ( currently, Queens, Tango, Zip, and Crossclimb).
Each Telegram group becomes its own independent competition; Members submit their puzzle results by uploading screenshots, and LDRBot uses OCR to extract solving times and build a daily ranking automatically.
Add LDRBot to your Telegram group: @LinkedinDailyRankingBot
Each group is treated as a standalone competition — just invite the bot to your group and you’re ready to go!
When you add LDRBot to a Telegram group, that group becomes its own independent leaderboard and competition space. Each day, members of the group can submit their results for LinkedIn’s puzzles (currently: Queens, Tango, Zip and Crossclimb) by simply uploading a screenshot of their completion screen.
LDRBot automatically scans these screenshots using OCR (powered by OpenCV and Tesseract) and extracts the relevant information: the game type and the time it took to solve it. Once processed, your time is recorded for the current day and associated with your Telegram user ID.
As group members submit their scores, LDRBot keeps track of who’s already participated and waits for everyone to submit. Once all registered players have sent their times, it automatically recalculates and publishes the daily leaderboard. Alternatively, any member can run the /ranking command to manually trigger a recalculation at any time.
If not everyone submits, LDRBot will still calculate and publish the results at the end of the day, including only the times that were received. This ensures the competition continues smoothly even if someone forgets to post their score.
Each group maintains its own isolated set of scores, players, and competition history — meaning users can participate in multiple groups independently. Leaderboards reset daily, so every new day is a fresh challenge for members to compete, improve, and (hopefully) brag.
Note
Only group messages with commands or screenshots are processed.
Private message support is under development.
LDRBot uses OCR to read your submitted screenshots and extract the game and solving time.
For best results, try to capture the colored square that shows the game result as clearly as possible, and avoid overlays like confetti or cropped
images.
| Command | Description |
|---|---|
/games |
Lists the games being tracked by the bot. |
/delete <game> |
Removes your score for today's selected game. |
/deleteAll |
Removes all of your submitted results for the current day. |
/override @<username> <game> <time> [<yyyy-MM-dd>] |
Admin only: Override a user’s time (mm:ss) for a given game. Optionally specify a date to backfill a past record. |
/ranking |
Calculates and displays the current leaderboard for the group. It will be recalculated automatically after all members submit their times. |
/configure |
Configure bot settings such as the tracked games or the group timezone. |
/cancel |
Aborts the current configuration operation. |
/about |
Displays information about the bot and its creator. |
/help |
Displays a list of available commands and usage instructions. |
- A Telegram account
- A Telegram group where you have permission to add bots
-
Add the bot to your group
LDRBot will start tracking scores and players from the moment it's added. -
Configure the bot (optional)
By default the bot will track all games supported. Admins can use/configureto choose what to track as well as configure other bot settings. -
Submit your LinkedIn score screenshot
LDRBot will extract your time and game, and track it for the day.
4Manage your score (optional)
Use /delete, /deleteall, or /override (admin-only) to modify the results if needed. Useful for correcting misprocessed or mistaken submissions.
5Watch the leaderboard evolve
Once everyone submits (or at day’s end), LDRBot will post the updated rankings.
- Language: Java 21
- OCR Engine: Tesseract via Tess4J
- Image Processing: OpenCV via Bytedeco
- Frameworks: Spring Boot + TelegramBots
- Allow to opt-in/out of reminders and configure time
- Auto-finalize scores at end-of-day, even if some users didn’t submit
- Allow to opt-in/out from games on each group
- Support for private chat submissions (auto-publish to all groups the user is in)
- Web dashboard showing historical and aggregated performance across groups and users
We’d love your help to improve LDRBot!
Whether you're here to fix a bug, suggest a feature, or simply explore how it works, here’s how to get involved:
- ⭐ Star this repository to show support
- 🐞 Report issues or request features via GitHub Issues
- 🛠️ Submit a pull request with enhancements, fixes, or new ideas
- 📣 Spread the word — share it with your Telegram puzzle groups!
LDRBot is free and open-source. If it's useful for your group, consider supporting its development!
This project is licensed under the MIT License.





