Files
crypto-price-bot/internal/services/tele/command.go
thuanle 9c39423315 Rewrite price lookup from WebSocket to REST API
Replace unreliable WebSocket connections with on-demand REST API calls
for spot and futures prices. Add cached trading pair list (refreshed
hourly) for symbol validation, and /refresh command for manual updates.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-26 15:14:09 +07:00

51 lines
1.0 KiB
Go

package tele
import (
"github.com/rs/zerolog/log"
"gopkg.in/telebot.v3"
"me.thuanle/bbot/internal/services/tele/commands"
"me.thuanle/bbot/internal/services/tele/middlewares"
)
var commandList = []telebot.Command{
{
Text: "p",
Description: "(p) - Get mark price",
},
{
Text: "fee",
Description: "(f) - show top funding fee",
},
{
Text: "refresh",
Description: "Refresh trading pair cache",
},
}
func setupCommands(b *telebot.Bot) error {
if err := b.SetCommands(commandList); err != nil {
log.Fatal().Err(err).Msg("setup telebot commands")
return err
}
b.Use(middlewares.IgnoreBot)
b.Use(middlewares.SendErrorMiddleware)
//welcome
b.Handle("/start", commands.OnStart)
//general
b.Handle("/v", commands.OnGetVersion)
//info
b.Handle("/p", commands.OnGetTopPrices)
b.Handle("/fee", commands.OnGetTopFundingFee)
b.Handle("/refresh", commands.OnRefreshPairCache)
//any text
b.Handle(telebot.OnText, commands.OnChatHandler)
b.Handle(telebot.OnSticker, commands.OnStickerHandler)
return nil
}