Skip to content

feat: Telegram Bot for New Bounty Notifications (Bounty #847)#1310

Closed
Ikalus1988 wants to merge 1 commit into
SolFoundry:mainfrom
Ikalus1988:feature/telegram-bounty-notifications
Closed

feat: Telegram Bot for New Bounty Notifications (Bounty #847)#1310
Ikalus1988 wants to merge 1 commit into
SolFoundry:mainfrom
Ikalus1988:feature/telegram-bounty-notifications

Conversation

@Ikalus1988

Copy link
Copy Markdown

Bounty T2: Telegram Bot for New Bounty Notifications

Reward: 500K FNDRY | Closes #847


✅ Acceptance Criteria

Criteria Implementation
Real-time bounty posting to Telegram 60s polling loop + webhook support
Rich embed format HTML embeds with tier emoji, reward, body preview
Inline buttons for details and claiming Details + I want this buttons
/leaderboard command GitHub GraphQL + SolFoundry API fallback
Customizable notification filters Tier, type, min reward, keyword filters

Commands

Command Description
/start Welcome message
/bounty N Bounty #N detail with inline buttons
/leaderboard 🏆 Top 20 contributors
/filters View current filters
/filter tier:2,3 min:500 Set filter rules
/subscribe Subscribe to all bounties
/unsubscribe Unsubscribe

Filter Syntax

/filter tier:1,2 type:feature min:500 keyword:api

Architecture

telegram-bot/
├── bot/
│   ├── config.py             # ENV config
│   ├── models.py             # Bounty, UserFilter, LeaderboardEntry
│   ├── github_client.py      # GitHub REST + GraphQL API
│   ├── subscription_store.py # Redis-backed per-user filter persistence
│   ├── formatters.py         # Rich Telegram HTML message formatters
│   ├── handlers.py           # Command + callback handlers
│   └── app.py                # Polling loop + FastAPI webhook
├── main.py                   # Entry point
├── pyproject.toml
└── tests/                    # 12 unit tests passing

Setup

cd telegram-bot
cp .env.example .env  # fill in TELEGRAM_BOT_TOKEN, TELEGRAM_CHANNEL_ID
uv venv && source .venv/bin/activate
uv pip install -e .
python main.py  # polling dev mode

SolFoundry Bounty #847 | 500K FNDRY

Implements Bounty T2 #847 — Telegram Bot for New Bounty Notifications

Features:
- Real-time bounty posting to Telegram with rich HTML embeds
- Inline keyboard buttons for bounty details and claiming
- /leaderboard command (GitHub GraphQL + API fallback)
- Per-user customizable notification filters (tier, type, min reward)
- Redis-backed subscription persistence
- Polling mode (dev) and webhook mode (production)
- FastAPI webhook server for production deployment
- 12 unit tests passing

Commands: /start, /help, /bounty N, /leaderboard, /filters,
/filter, /subscribe, /unsubscribe
@Ikalus1988

Copy link
Copy Markdown
Author

Updated: My wallet address for this bounty is FXy3m9V4pB5LYMphbTaD4fqRqcXiRiL2rTHfT6sK55j4.
Ready for review/payout compliance.

@Ikalus1988 Ikalus1988 closed this by deleting the head repository Jun 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🏭 Bounty T2: Telegram Bot for New Bounty Notifications

1 participant