{"id":24929924,"url":"https://github.com/hridesh-net/blinky","last_synced_at":"2026-02-16T18:34:57.177Z","repository":{"id":274129809,"uuid":"922008650","full_name":"hridesh-net/Blinky","owner":"hridesh-net","description":"Blinky is a Discord bot designed to make daily tasks more interactive and fun for teams. It encourages team members to submit their daily to-dos, track their progress, and earn rewards like kudos and streaks. No more boring to-do lists! Blinky gamifies productivity in your Discord workspace. 🎮✨","archived":false,"fork":false,"pushed_at":"2025-01-30T19:44:31.000Z","size":832,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-15T01:44:34.260Z","etag":null,"topics":["bot","discord-bot","kudos","organization"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hridesh-net.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-25T04:33:36.000Z","updated_at":"2025-01-30T19:44:34.000Z","dependencies_parsed_at":"2025-03-28T13:40:32.708Z","dependency_job_id":"95b5d205-b61a-4e26-8cd7-bb51e3815343","html_url":"https://github.com/hridesh-net/Blinky","commit_stats":null,"previous_names":["hridesh-net/blinky"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hridesh-net/Blinky","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hridesh-net%2FBlinky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hridesh-net%2FBlinky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hridesh-net%2FBlinky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hridesh-net%2FBlinky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hridesh-net","download_url":"https://codeload.github.com/hridesh-net/Blinky/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hridesh-net%2FBlinky/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29514727,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T17:46:34.542Z","status":"ssl_error","status_checked_at":"2026-02-16T17:46:30.907Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","discord-bot","kudos","organization"],"created_at":"2025-02-02T13:52:22.991Z","updated_at":"2026-02-16T18:34:57.144Z","avatar_url":"https://github.com/hridesh-net.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![header](Turons_Letter.png)\n\n# Blinky - The Interactive Team To-Do Bot 🎯\n\nBlinky is a **Discord bot** designed to make daily tasks more interactive and fun for teams. It encourages team members to submit their daily to-dos, track their progress, and earn rewards like kudos and streaks. **No more boring to-do lists! Blinky gamifies productivity in your Discord workspace.** 🎮✨\n\n## 🌟 Features\n\n- 🕒 **Automated Daily Reminders** - Sends scheduled reminders at **6:30 PM IST** (configurable).\n- ✅ **To-Do Submissions** - Users submit their daily tasks through a modal input.\n- 📌 **Team-Based Organization** - Automatically assigns users to teams based on Discord channels.\n- 🏆 **Streaks \u0026 Kudos** - Tracks engagement with streak counters and kudos rewards.\n- 📡 **FastAPI Backend** - Built on **FastAPI** for seamless API interactions.\n- ⚡ **AWS Lambda Integration** - Handles scheduled reminders efficiently.\n- 🔄 **Database Persistence** - Stores users, teams, and tasks in **PostgreSQL** using SQLAlchemy.\n- 📊 **Real-Time Updates** - To-Do lists are posted in team channels with avatars \u0026 stats.\n\n## 🚀 Getting Started\n\n### Prerequisites\n\nEnsure you have the following installed:\n\n- Python 3.12+\n- PostgreSQL\n- Docker (for DB setup)\n- FastAPI\n- Requests (for Discord API interactions)\n- Uvicorn (ASGI Server)\n- SQLAlchemy \u0026 Alembic (Database ORM \u0026 Migrations)\n\n### Directory Structure\n```sh\n.\n├── README.md\n├── alembic.ini\n├── app\n│   ├── api\n│   │   ├── __init__.py\n│   │   ├── deps.py\n│   │   └── v1\n│   │       ├── __init__.py\n│   │       └── endpoints\n│   │           ├── __init__.py\n│   │           ├── audit_log.py\n│   │           ├── discord_interactions.py\n│   │           ├── reward.py\n│   │           ├── task.py\n│   │           └── user.py\n│   ├── core\n│   │   ├── __init__.py\n│   │   ├── cmd\n│   │   │   └── slash_cmd.py\n│   │   ├── config.py\n│   │   └── config_prod.py\n│   ├── crud\n│   │   ├── __init__.py\n│   │   ├── audit_log.py\n│   │   ├── reward.py\n│   │   ├── role.py\n│   │   ├── task.py\n│   │   └── user.py\n│   └── utils\n│       ├── __init__.py\n│       ├── post_utilities.py\n│       ├── register_commands.py\n│       └── security.py\n├── daily_sch.py\n├── datatest.py\n├── db\n│   ├── __init__.py\n│   ├── base.py\n│   ├── migrations\n│   │   ├── README\n│   │   ├── env.py\n│   │   └── script.py.mako\n│   ├── models\n│   │   ├── __init__.py\n│   │   ├── audit_log.py\n│   │   ├── notification.py\n│   │   ├── reward.py\n│   │   ├── role.py\n│   │   ├── task.py\n│   │   ├── team.py\n│   │   └── user.py\n│   └── session.py\n├── main.py\n├── register_cmd.py\n├── requirements.txt\n├── schemas\n│   ├── __init__.py\n│   ├── audit_log.py\n│   ├── reward.py\n│   ├── role.py\n│   ├── task.py\n│   └── user.py\n└── tests\n    ├── __init__.py\n    ├── test_audit_log.py\n    ├── test_reward.py\n    ├── test_task.py\n    └── test_user.py\n```\n\n### Installation\n\n```sh\n# Clone the repository\ngit clone https://github.com/hridesh-net/blinky.git\ncd blinky\n\n# Create a virtual environment\npython3 -m venv venv\nsource venv/bin/activate  # On Windows use `venv\\Scripts\\activate`\n\n# Install dependencies\npip install -r requirements.txt\n```\n\n### Setting Up the Database\n\n```sh\n# Run PostgreSQL in Docker\ndocker run --name postgres_db -p 5432:5432 -e POSTGRES_PASSWORD=password -d postgres:latest\n\n# Apply migrations\nalembic upgrade head\n```\n\n### Running the Bot\n\n```sh\nuvicorn main:app --reload\n```\n\n## 🎮 Usage\n\n### 1️⃣ Register the Bot\n\nInvite the bot to your Discord server and register the following commands:\n\n```sh\n/assign-team-channel  # Assigns a team to a specific channel\n/add-todo  # Adds your daily tasks\n/check-todos  # Checks all submitted To-Dos\n```\n\n### 2️⃣ Setting Up Team Channels\n\nRun `/assign-team-channel` in a Discord channel to link it to a team.\n\n### 3️⃣ Submitting To-Dos\n\nClick the **Add Today's Checklist** button in your DM, enter your tasks (separated by '|'), and hit submit.\n\n### 4️⃣ Viewing To-Dos\n\nBlinky posts a card in the team channel with:\n\n- ✅ Submitted Tasks\n- 🏅 User Avatar \u0026 Name\n- 💎 Kudos Count\n- 🔥 Streak Status\n\n## 🔧 Configuration\n\n### Environment Variables (`.env`)\n\n```\nDISCORD_TOKEN=your_discord_bot_token\nDISCORD_PUBLIC_KEY=your_public_key\nDATABASE_URL=postgresql://user:password@localhost/dbname\n```\n\n## 📜 API Endpoints\n\n| Endpoint            | Method | Description                  |\n| ------------------- | ------ | ---------------------------- |\n| `/interactions`     | POST   | Handles Discord interactions |\n| `/set-team-channel` | POST   | Sets the team channel        |\n| `/submit-todo`      | POST   | Submits user tasks           |\n\n## 🤝 Contributors\n\nThank you to all the amazing contributors who helped bring Blinky to life! 🎉\n\n👤 **Hridesh Sharma** - [GitHub](https://github.com/hridesh-net)\\\n👤 **Your Name Here** - [GitHub](https://github.com/your-profile)\n\nWant to contribute? Feel free to submit a PR or open an issue! 🚀\n\n## 📄 License\n\nMIT License © 2025 Hridesh Sharma\n\n---\n\nMade with ❤️ to make teamwork **fun \u0026 productive**! 🚀\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhridesh-net%2Fblinky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhridesh-net%2Fblinky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhridesh-net%2Fblinky/lists"}