Address PR #15 round 2: fail-closed admin guard, sync init, error reporting

1. /refresh now fail-closed: rejects all if ADMIN_CHAT_ID unset or invalid
2. Initial pair cache fill is synchronous — bot waits before accepting queries
3. /refresh reports failure when API fetch fails instead of always saying success

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-26 16:03:22 +07:00
parent c7128ff516
commit 914beea5ce
4 changed files with 15 additions and 9 deletions
+3
View File
@@ -36,6 +36,9 @@ func NewMarketData() *MarketData {
futuresClient: futures.NewClient("", ""),
}
if err := ms.refreshTradingPairCache(); err != nil {
log.Error().Err(err).Msg("Failed initial trading pair cache load")
}
go ms.pairCacheRefreshLoop()
go ms.alphaCacheRefreshLoop()