mirror of
https://github.com/c9s/bbgo.git
synced 2024-11-10 09:11:55 +00:00
interact: use interaction singleton
This commit is contained in:
parent
0114d92f2f
commit
5bef7d8a1e
|
@ -128,21 +128,19 @@ func main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
|
interact.SetMessenger(&interact.Telegram{
|
||||||
globalInteraction := interact.New()
|
|
||||||
globalInteraction.SetMessenger(&interact.Telegram{
|
|
||||||
Private: true,
|
Private: true,
|
||||||
Bot: b,
|
Bot: b,
|
||||||
})
|
})
|
||||||
|
|
||||||
globalInteraction.AddCustomInteraction(&interact.AuthInteract{
|
interact.AddCustomInteraction(&interact.AuthInteract{
|
||||||
Strict: true,
|
Strict: true,
|
||||||
Mode: interact.AuthModeToken,
|
Mode: interact.AuthModeToken,
|
||||||
Token: "123",
|
Token: "123",
|
||||||
})
|
})
|
||||||
|
|
||||||
globalInteraction.AddCustomInteraction(&PositionInteraction{})
|
interact.AddCustomInteraction(&PositionInteraction{})
|
||||||
if err := globalInteraction.Start(ctx); err != nil {
|
if err := interact.Start(ctx); err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
cmdutil.WaitForSignal(ctx, syscall.SIGINT, syscall.SIGTERM)
|
cmdutil.WaitForSignal(ctx, syscall.SIGINT, syscall.SIGTERM)
|
||||||
|
|
|
@ -20,6 +20,7 @@ import (
|
||||||
"gopkg.in/tucnak/telebot.v2"
|
"gopkg.in/tucnak/telebot.v2"
|
||||||
|
|
||||||
"github.com/c9s/bbgo/pkg/cmd/cmdutil"
|
"github.com/c9s/bbgo/pkg/cmd/cmdutil"
|
||||||
|
"github.com/c9s/bbgo/pkg/interact"
|
||||||
"github.com/c9s/bbgo/pkg/notifier/slacknotifier"
|
"github.com/c9s/bbgo/pkg/notifier/slacknotifier"
|
||||||
"github.com/c9s/bbgo/pkg/notifier/telegramnotifier"
|
"github.com/c9s/bbgo/pkg/notifier/telegramnotifier"
|
||||||
"github.com/c9s/bbgo/pkg/service"
|
"github.com/c9s/bbgo/pkg/service"
|
||||||
|
@ -581,14 +582,27 @@ func (environ *Environment) ConfigureNotificationSystem(userConfig *Config) erro
|
||||||
|
|
||||||
// allocate a store, so that we can save the chatID for the owner
|
// allocate a store, so that we can save the chatID for the owner
|
||||||
var sessionStore = persistence.NewStore("bbgo", "telegram", telegramID)
|
var sessionStore = persistence.NewStore("bbgo", "telegram", telegramID)
|
||||||
var interaction = telegramnotifier.NewInteraction(bot, sessionStore)
|
|
||||||
|
interact.SetMessenger(&interact.Telegram{
|
||||||
|
Private: true,
|
||||||
|
Bot: bot,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
// TODO: replace this background context later
|
||||||
|
if err := interact.Start(context.Background()); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
authToken := viper.GetString("telegram-bot-auth-token")
|
authToken := viper.GetString("telegram-bot-auth-token")
|
||||||
if len(authToken) > 0 {
|
if len(authToken) > 0 {
|
||||||
interaction.SetAuthToken(authToken)
|
interact.AddCustomInteraction(&interact.AuthInteract{
|
||||||
|
Strict: true,
|
||||||
|
Mode: interact.AuthModeToken,
|
||||||
|
Token: authToken,
|
||||||
|
})
|
||||||
|
|
||||||
log.Debugf("telegram bot auth token is set, using fixed token for authorization...")
|
log.Debugf("telegram bot auth token is set, using fixed token for authorization...")
|
||||||
|
|
||||||
printTelegramAuthTokenGuide(authToken)
|
printTelegramAuthTokenGuide(authToken)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
21
pkg/interact/default.go
Normal file
21
pkg/interact/default.go
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
package interact
|
||||||
|
|
||||||
|
import "context"
|
||||||
|
|
||||||
|
var defaultInteraction = New()
|
||||||
|
|
||||||
|
func Default() *Interact {
|
||||||
|
return defaultInteraction
|
||||||
|
}
|
||||||
|
|
||||||
|
func SetMessenger(messenger Messenger) {
|
||||||
|
defaultInteraction.SetMessenger(messenger)
|
||||||
|
}
|
||||||
|
|
||||||
|
func AddCustomInteraction(custom CustomInteraction) {
|
||||||
|
custom.Commands(defaultInteraction)
|
||||||
|
}
|
||||||
|
|
||||||
|
func Start(ctx context.Context) error {
|
||||||
|
return defaultInteraction.Start(ctx)
|
||||||
|
}
|
|
@ -222,4 +222,3 @@ func (it *Interact) Start(ctx context.Context) error {
|
||||||
it.messenger.Start(ctx)
|
it.messenger.Start(ctx)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user