๐Ÿ“ฆ srpvpn / issue-tracker-bot

โ˜… 5 stars โ‘‚ 0 forks ๐Ÿ‘ 5 watching
๐Ÿ“ฅ Clone https://github.com/srpvpn/issue-tracker-bot.git
HTTPS git clone https://github.com/srpvpn/issue-tracker-bot.git
SSH git clone git@github.com:srpvpn/issue-tracker-bot.git
CLI gh repo clone srpvpn/issue-tracker-bot
srpvpn srpvpn Simplify user filter model by removing notification timestamp, update GitHub issue data structure, and introduce environment configuration. dbb09aa 17 days ago ๐Ÿ“ History
๐Ÿ“‚ main View all commits โ†’
๐Ÿ“ cmd
๐Ÿ“ internal
๐Ÿ“„ .env.example
๐Ÿ“„ go.mod
๐Ÿ“„ go.sum
๐Ÿ“„ README.md
๐Ÿ“„ README.md

Telegram GitHub Issue Bot

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.

Features

  • Personalized Filters:
  • Filter by Repository Language (e.g., Go, Rust, TypeScript).
  • Filter by Minimum Stars.
  • Filter by Labels (e.g., "good first issue", "bug").

Project Structure

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)

Setup & Running

  • Prerequisites:
  • Go 1.21+
  • GCC (for SQLite CGO)
  • Configuration:
Copy .env.example to .env and 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!

Development

  • Run tests:
go test ./...