mirror of
https://gitea.0xace.cc/rust/github-release-bot.git
synced 2024-11-25 05:46:40 +00:00
2.0 KiB
2.0 KiB
GitHub release bot
Telegram bot for GitHub releases notification. Bot simply fetches latest release and send notification.
Warning: GitHub will ban you with small interval and spread time. Use adequate interval and spread time or use TOR.
Interval - set how often check GitHub for new releases in seconds. Default - 28800 seconds (8 hours).
Spread - time in seconds for random offset calculation per repo within interval.
Default 600 seconds (10 minutes). Offset calculated as RANDOM(u64) % SPREAD.
With default values bot will launch main loop check every 8 hours and get latest release within (RANDOM(u64) % 600) seconds per repo.
Example config.yaml
- owner: go-gitea
repo: gitea
- owner: kubernetes-sigs
repo: kubespray
Binary
Build binary
cargo build --release
Run binary
github-release-bot \
--token ${TOKEN} --chatid ${CHATID} \
--config ${CONFIG} --datadir ${DATADIR} \
--interval ${INTERVAL} --spread ${SPREAD}
Binary params
- token - required, Telegram token
- chatid - required, Telegram chat id
- config - file required, default config file name "config.yaml"
- interval - optional, default 28800 seconds (8 hours)
- spread - optional, default 600 seconds (10 minutes)
- datadir - optional, dir for storing files with latest releases, default "data"
Docker
Docker run
docker run -d -v ./config.yaml:/opt/config.yaml -v ./data:/opt/data registry.geekhome.org/ghp/github-release-bot:latest \
-e TOKEN=${TOKEN} -e CHATID=${CHATID} \
-e CONFIG=${CONFIG} -e DATADIR=${DATADIR} \
-e INTERVAL=${INTERVAL} -e SPREAD=${SPREAD}
Docker build
make build
Docker params
OS ENV used to pass arguments:
- TOKEN - required, Telegram token
- CHATID - required, Telegram chat id
- CONFIG - file required, default config file name "config.yaml"
- INTERVAL - optional, default 28800 seconds (8 hours)
- SPREAD - optional, default 600 seconds (10 minutes)
- DATADIR - optional, dir for storing files with latest releases, default "data"