Files
eko/internal/client/api/api.go
2024-10-24 16:39:14 +03:00

30 lines
792 B
Go

package api
import (
"log"
tea "github.com/charmbracelet/bubbletea"
"github.com/kyren223/eko/internal/client/gateway"
"github.com/kyren223/eko/internal/packet"
"github.com/kyren223/eko/pkg/assert"
)
func SendMessage(message string) tea.Cmd {
return func() tea.Msg {
log.Println("request SendMessage sent")
request := packet.SendMessage{Content: message}
responsePayload, ok := <-gateway.Send(&request)
if !ok {
log.Println("request timeout")
return ""
}
log.Println("request SendMessage received response")
response := responsePayload.(*packet.ErrorMessage)
assert.Assert(ok, "server should return an ErrorMessage response for a SendMessage request")
assert.Assert(response.IsOk(), "server should always return an OK if we didn't mess up")
return ""
}
}