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, Crossclimb, and Mini Sudoku).
Each Telegram group becomes its own independent competition. Members can submit their puzzle results either by uploading screenshots or by sharing the result message directly from LinkedIn. LDRBot uses OCR to extract solving times from images to build a daily ranking automatically. Alternatively, it can parse the shared text.
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, Crossclimb, and Mini Sudoku) in two ways:
- Upload a screenshot of the completion screen โ LDRBot uses OCR (powered by OpenCV and Tesseract) to automatically scan and extract the game type and solving time.
- Share the result message directly from LinkedIn โ LDRBot parses the text to extract the same information.
Once processed, the time is recorded for the current day and associated with the correspondent 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
Upload a screenshot or share the result message from LinkedIn. LDRBot will extract your time and game, and track it for the day. -
Manage your score (optional)
Use/delete,/deleteall, or/override(admin-only) to modify the results if needed. Useful for correcting misprocessed or mistaken submissions. -
Watch 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.





