mirror of
https://github.com/Kyren223/eko.git
synced 2026-07-16 08:31:03 +00:00
30 lines
792 B
Go
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 ""
|
|
}
|
|
}
|