diff options
Diffstat (limited to 'internal/packet')
| -rw-r--r-- | internal/packet/messages.go | 29 | ||||
| -rw-r--r-- | internal/packet/packet.go | 11 |
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 ( |
