summaryrefslogtreecommitdiff
path: root/internal/packet
diff options
context:
space:
mode:
Diffstat (limited to 'internal/packet')
-rw-r--r--internal/packet/messages.go29
-rw-r--r--internal/packet/packet.go11
2 files changed, 39 insertions, 1 deletions
diff --git a/internal/packet/messages.go b/internal/packet/messages.go
index f8390f8..b1a6598 100644
--- a/internal/packet/messages.go
+++ b/internal/packet/messages.go
@@ -1,5 +1,9 @@
package packet
+import (
+ "github.com/kyren223/eko/internal/data"
+)
+
type EkoMessage struct {
Message string `msgpack:"message"`
}
@@ -15,3 +19,28 @@ type ErrorMessage struct {
func (m *ErrorMessage) Type() PacketType {
return TypeError
}
+
+type GetMessagesMessage struct {
+ Since *int64
+ UpTo *int64
+}
+
+func (m *GetMessagesMessage) Type() PacketType {
+ return TypeGetMessages
+}
+
+type SendMessageMessage struct {
+ Content string
+}
+
+func (m *SendMessageMessage) Type() PacketType {
+ return TypeSendMessage
+}
+
+type MessagesMessage struct {
+ Messages []data.Message
+}
+
+func (m *MessagesMessage) Type() PacketType {
+ return TypeMessages
+}
diff --git a/internal/packet/packet.go b/internal/packet/packet.go
index 068a8f3..3b49249 100644
--- a/internal/packet/packet.go
+++ b/internal/packet/packet.go
@@ -52,6 +52,12 @@ func (t PacketType) String() string {
return "PacketTypeEko"
case TypeError:
return "PacketTypeError"
+ case TypeGetMessages:
+ return "PacketTypeGetMessages"
+ case TypeSendMessage:
+ return "PacketTypeSendMessage"
+ case TypeMessages:
+ return "PacketTypeMessages"
default:
return fmt.Sprintf("PacketTypeInvalid(%v)", byte(t))
}
@@ -59,7 +65,7 @@ func (t PacketType) String() string {
func (e PacketType) IsSupported() bool {
switch e {
- case TypeEko, TypeError:
+ case TypeEko, TypeError, TypeGetMessages, TypeSendMessage, TypeMessages:
return true
default:
return false
@@ -69,6 +75,9 @@ func (e PacketType) IsSupported() bool {
const (
TypeEko PacketType = iota
TypeError
+ TypeGetMessages
+ TypeSendMessage
+ TypeMessages
)
const (