9c39423315
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>
51 lines
1.0 KiB
Go
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
|
|
}
|