tiennm99 067abb72a1 chore(plans): update phase 02-03 status and record code review findings
Phase 02 (repo bootstrap, partial) and Phase 03 (module framework)
completed and reviewed. Cloud Run deployment deferred to Phase 01.
Updates plan progress, phase completion notes, and code review report
documenting security hardening and test coverage decisions.
2026-05-08 23:27:21 +07:00
2026-05-08 22:44:45 +07:00

miti99bot-go

Plug-n-play Telegram bot framework in Go, deployed on Google Cloud Run with Firestore + Gemini. Free-tier port of miti99bot.

Status

Early scaffolding. See plans/260508-2222-go-port-cloud-run/plan.md for the full roadmap.

Phase What Status
01 GCP setup, Cloud Run baseline pending
02 Repo bootstrap + webhook skeleton partial (local pieces done; Cloud Run deploy deferred to Phase 01)
03 Module framework + KVStore done
04+ Firestore, modules, cron, CI/CD, cutover pending

Layout

cmd/server/             entrypoint
internal/server/        HTTP routes (/, /webhook, /cron/{name})
internal/telegram/      Telegram webhook + bot wrapper
internal/modules/       Module framework, registry, dispatchers
internal/storage/       KVStore interface, in-memory impl, prefix wrapper

Run locally

TELEGRAM_BOT_TOKEN=\
TELEGRAM_WEBHOOK_SECRET=local \
PORT=8080 \
MODULES= \
go run ./cmd/server

End-to-end smoke test against a Telegram dev bot requires ngrok (local) or a Cloud Run deployment. The dev bot is created manually; token is injected via env vars only.

Test

go vet ./...
go test ./...

Build

docker build -t miti99bot-go .

The image is multi-stage (golang:1.23-alpinegcr.io/distroless/static:nonroot); resulting image is ~15 MiB.

License

Apache-2.0.

S
Description
Plug-n-play Telegram bot framework in Go, self-hosted on Coolify + MongoDB Atlas with cron, games, schedules, and paper trading modules.
Readme Apache-2.0
4.8 MiB
Languages
Go 99.9%
Dockerfile 0.1%