From 267e3baa9392f227461961b09eb33368e131d09e Mon Sep 17 00:00:00 2001 From: 5elenay <5elenay@protonmail.com> Date: Fri, 20 Aug 2021 18:47:28 +0300 Subject: [PATCH] added simple websocket connection. --- go.mod | 6 ++++++ go.sum | 6 ++++++ types.go | 9 +++++++++ websocket.go | 22 ++++++++++++++++++++++ 4 files changed, 43 insertions(+) create mode 100644 go.sum create mode 100644 types.go create mode 100644 websocket.go diff --git a/go.mod b/go.mod index bb0869a..fc036e8 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,9 @@ module github.com/5elenay/revoltgo go 1.17 + +require ( + github.com/gorilla/websocket v1.4.2 // indirect + github.com/sacOO7/go-logger v0.0.0-20180719173527-9ac9add5a50d // indirect + github.com/sacOO7/gowebsocket v0.0.0-20210515122958-9396f1a71e23 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..958dc06 --- /dev/null +++ b/go.sum @@ -0,0 +1,6 @@ +github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/sacOO7/go-logger v0.0.0-20180719173527-9ac9add5a50d h1:5T+fbRuQbpi+WZtB2yfuu59r00F6T2HV/zGYrwX8nvE= +github.com/sacOO7/go-logger v0.0.0-20180719173527-9ac9add5a50d/go.mod h1:L5EJe2k8GwpBoGXDRLAEs58R239jpZuE7NNEtW+T7oo= +github.com/sacOO7/gowebsocket v0.0.0-20210515122958-9396f1a71e23 h1:yjnkNJTpQPCx10KF1jypuIhAVc6EYn2M9lJgwSTHQYs= +github.com/sacOO7/gowebsocket v0.0.0-20210515122958-9396f1a71e23/go.mod h1:h00QywbM5Le22ESUiI8Yz2/9TVGD8eAz/cAk55Kcz/E= diff --git a/types.go b/types.go new file mode 100644 index 0000000..ec890de --- /dev/null +++ b/types.go @@ -0,0 +1,9 @@ +package revoltgo + +import "github.com/sacOO7/gowebsocket" + +// Client struct +type Client struct { + Token string + Socket gowebsocket.Socket +} diff --git a/websocket.go b/websocket.go new file mode 100644 index 0000000..38ec83d --- /dev/null +++ b/websocket.go @@ -0,0 +1,22 @@ +package revoltgo + +import ( + "fmt" + + "github.com/sacOO7/gowebsocket" +) + +const WS_URL = "wss://ws.revolt.chat" + +func (c *Client) Start() { + // Create new socket + c.Socket = gowebsocket.New(WS_URL) + + // Send auth when connected + c.Socket.OnConnected = func(socket gowebsocket.Socket) { + c.Socket.SendText(fmt.Sprintf("{\"type\": \"Authenticate\", \"token\": \"%s\"}", c.Token)) + } + + // Start connection + c.Socket.Connect() +}