diff options
| author | Kyren223 <ulmliad223@gmail.com> | 2024-10-24 16:39:14 +0300 |
|---|---|---|
| committer | Kyren223 <ulmliad223@gmail.com> | 2024-10-24 16:39:14 +0300 |
| commit | 688668f6d34d4d962247bd5df60c3fca61185927 (patch) | |
| tree | 459a29a76bb3a8cd77cdeccf35d7c1689374d09d /internal/client/api/api.go | |
| parent | 6f83f199f8311bf7782da59bc2e07df38073e65a (diff) | |
feat: worked on client
Diffstat (limited to 'internal/client/api/api.go')
| -rw-r--r-- | internal/client/api/api.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/internal/client/api/api.go b/internal/client/api/api.go new file mode 100644 index 0000000..56cf054 --- /dev/null +++ b/internal/client/api/api.go @@ -0,0 +1,29 @@ +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 "" + } +} |
