Skip to content

Repository files navigation

Gobot

Gobot is a shared Go runtime for several Telegram bots and background scouts. Each bot has a distinct user-facing scope, while the process reuses common integrations such as Telegram, Yahoo Finance, Reddit, Supabase, Spotify, and YouTube.

Bots in this repo

  • finance: configurable watchlist analysis bot for stocks and ETFs
  • saaham: stateless quote bot for exact-symbol stock and ETF lookups
  • freegames: scout that posts free Steam and Epic finds to Telegram
  • spotifytube: converts between Spotify tracks and YouTube links
  • antam: gold price bot for Antam pricing, digital gold pricing, and a weekly buy-price channel alert
  • reddit: Reddit media scout that posts curated content to Telegram

Runtime shape

The entrypoint is main.go.

  • Background scouts start for freegames, antam, reddit, and finance
  • Interactive Telegram bots start for antam, spotifytube, finance, and saaham
  • Shared helpers live under pkg and configuration keys live in config/config.go

Documentation

Bot docs

Antam at a glance

The Antam bot currently exposes:

  • /start: onboarding and command guide
  • /a: Antam price from hargaemas.com
  • /p: digital gold price from pluang.com
  • /h: digital gold price from harga-emas.org

The weekly Antam channel scout runs on Wednesday at 10:05 Singapore time and sends a buy-only summary from:

  • hargaemas.com
  • pluang.com

Configuration

Environment variable names are defined in config/config.go.

Common keys used across the repo include:

  • SUPABASE_URL
  • SUPABASE_KEY
  • TELEGRAM_BOT
  • ANTAM_TELEGRAM_BOT
  • SPOTIFYTUBE_BOT
  • SAAHAM_BOT
  • TELEGRAM_CHANNEL_FREE_GAMES
  • TELEGRAM_CHANNEL_ANTAM
  • TELEGRAM_CHANNEL_REDDIT
  • TELEGRAM_CHANNEL_FINANCE
  • SPOTIFY_ID
  • SPOTIFY_SECRET
  • YOUTUBE_TOKEN

Development

Install the repo-local Air tool once:

go get -tool github.com/air-verse/air@latest

Then run the shared Gobot runtime with automatic rebuild and restart on Go file changes:

go tool air

Air is configured by .air.toml to rebuild main.go into ./tmp/main and restart that binary when tracked files change.

Star History

Star History Chart

Releases

Used by

Contributors

Languages