-
Notifications
You must be signed in to change notification settings - Fork 0
/
system-messager.go
37 lines (32 loc) · 1.32 KB
/
system-messager.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package router
import (
"github.com/TVBlackman1/telegram-go/pkg/lib/presenter/types"
handlers "github.com/TVBlackman1/telegram-go/pkg/router/handlers"
"github.com/TVBlackman1/telegram-go/pkg/service"
)
type SystemMessager struct {
userService *service.UserService
}
func NewSystemMessager(stateService *service.UserService) *SystemMessager {
return &SystemMessager{stateService}
}
func (messager *SystemMessager) Process(chatId types.ChatId) handlers.HandlerProcessResult {
currentState, _ := messager.userService.GetCurrentState(chatId)
stateProcessor, _ := messager.userService.GetCurrentStateProcessor(currentState)
// stateProcessor.SetContext(, currentState.Id)
stateProcessor.ProcessSystemInvoke(chatId)
return handlers.HandlerProcessResult{
Messages: stateProcessor.GetBotMessages(),
Automessages: stateProcessor.GetAutoMessages(),
}
}
func (messager *SystemMessager) ProcessWithContext(chatId types.ChatId) handlers.HandlerProcessResult {
currentState, _ := messager.userService.GetCurrentState(chatId)
stateProcessor, _ := messager.userService.GetCurrentStateProcessor(currentState)
// stateProcessor.SetContext(, currentState.Id)
stateProcessor.ProcessSystemInvoke(chatId)
return handlers.HandlerProcessResult{
Messages: stateProcessor.GetBotMessages(),
Automessages: stateProcessor.GetAutoMessages(),
}
}