diff --git a/client.go b/client.go new file mode 100644 index 0000000..94e72fe --- /dev/null +++ b/client.go @@ -0,0 +1,16 @@ +package revoltgo + +import ( + "github.com/sacOO7/gowebsocket" +) + +const ( + WS_URL = "wss://ws.revolt.chat" + API_URL = "https://api.revolt.chat" +) + +// Client struct +type Client struct { + Token string + Socket gowebsocket.Socket +} diff --git a/http.go b/http.go new file mode 100644 index 0000000..53cdee8 --- /dev/null +++ b/http.go @@ -0,0 +1,47 @@ +package revoltgo + +import ( + "bytes" + "io/ioutil" + "net/http" + "strings" +) + +// Send http request +func (c *Client) Request(method, path, data string) ([]byte, error) { + var reqBody *bytes.Buffer + + // Check method + if strings.EqualFold(method, "get") { + reqBody = bytes.NewBuffer([]byte(data)) + } else { + reqBody = nil + } + + // Prepare request + req, err := http.NewRequest(method, API_URL+path, reqBody) + if err != nil { + return []byte(""), err + } + + req.Header.Set("X-Bot-Token", c.Token) + req.Header.Set("Content-Type", "application/json") + + client := &http.Client{} + + // Send request + resp, err := client.Do(req) + + if err != nil { + return []byte(""), err + } + + defer resp.Body.Close() + body, err := ioutil.ReadAll(resp.Body) + + if err != nil { + return []byte(""), err + } + + return body, nil +} diff --git a/types.go b/types.go deleted file mode 100644 index ec890de..0000000 --- a/types.go +++ /dev/null @@ -1,9 +0,0 @@ -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 index e432386..0e98a9b 100644 --- a/websocket.go +++ b/websocket.go @@ -7,8 +7,6 @@ import ( "github.com/sacOO7/gowebsocket" ) -const WS_URL = "wss://ws.revolt.chat" - func (c *Client) Start() { // Create new socket c.Socket = gowebsocket.New(WS_URL)