Telegram bot written in Go that monitors a GitHub issues feed and notifies users about new issues matching their personal filters.
Special thanks to iedr/goodfirstissues for the issue data source.
- Personalized Filters:
- Filter by Repository Language (e.g., Go, Rust, TypeScript).
- Filter by Minimum Stars.
- Filter by Labels (e.g., "good first issue", "bug").
cmd/
bot/ # Main entry point
internal/
bot/ # Telegram bot handlers and logic
config/ # Configuration loading
github/ # GitHub API client (fetching issues)
logger/ # Structured logging
models/ # Domain models
service/ # Core business logic (polling, matching)
storage/ # Database layer (SQLite)
-
Prerequisites:
- Go 1.21+
- GCC (for SQLite CGO)
-
Configuration: Copy
.env.exampleto.envand fill in your details:cp .env.example .env
TELEGRAM_TOKEN: Your Bot Token from @BotFather.
-
Build and Run:
go mod tidy go build -o bot ./cmd/bot ./bot
-
Usage:
- Start a chat with the bot on Telegram.
- Use the menu buttons to configure your filters.
- Wait for notifications!
- Run tests:
go test ./...