Skip to content

Telegram bot that uses OCR to extract scores from LinkedIn puzzle screenshots and build daily leaderboards per group

License

Notifications You must be signed in to change notification settings

rubasace/ldrbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

209 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿค– LDRBot

Telegram Bot Build Status License: MIT Latest Release

Sponsor on GitHub Buy Me a Coffee


๐Ÿ’ก Overview

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.

๐Ÿฆพ Try It Out

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!

โš™๏ธ How It Works

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:

  1. 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.
  2. 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.

๐Ÿ–ผ๏ธ Screenshots

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.

Mobile Layout Examples

mobile layout Queens example ย  mobile layout Tango example ย  mobile layout Zip example

Desktop Layout Examples

desktop layout Queens example ย  desktop layout Tango example ย  desktop layout Zip example

๐Ÿ› ๏ธ Commands

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.

๐Ÿš€ Getting Started

Requirements

  • A Telegram account
  • A Telegram group where you have permission to add bots

Setup

  1. Add the bot to your group
    LDRBot will start tracking scores and players from the moment it's added.

  2. Configure the bot (optional)
    By default the bot will track all games supported. Admins can use /configure to choose what to track as well as configure other bot settings.

  3. 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.

  4. Manage your score (optional)
    Use /delete, /deleteall, or /override (admin-only) to modify the results if needed. Useful for correcting misprocessed or mistaken submissions.

  5. Watch the leaderboard evolve
    Once everyone submits (or at day's end), LDRBot will post the updated rankings.

๐Ÿ’ป Tech Stack

๐Ÿ”ฎ Future Features

  • 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

๐Ÿค Contributing

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:

  1. โญ Star this repository to show support
  2. ๐Ÿž Report issues or request features via GitHub Issues
  3. ๐Ÿ› ๏ธ Submit a pull request with enhancements, fixes, or new ideas
  4. ๐Ÿ“ฃ Spread the word โ€” share it with your Telegram puzzle groups!

๐Ÿ’– Support LDRBot

LDRBot is free and open-source. If it's useful for your group, consider supporting its development!

Sponsor on GitHub Buy Me a Coffee

๐Ÿ“„ License

This project is licensed under the MIT License.

About

Telegram bot that uses OCR to extract scores from LinkedIn puzzle screenshots and build daily leaderboards per group

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Contributors 3

  •  
  •  
  •