added create channel functions.
This commit is contained in:
		| @@ -127,7 +127,7 @@ func (c *Client) CreateServer(name, description string) (*Server, error) { | |||||||
| 	server := &Server{} | 	server := &Server{} | ||||||
| 	server.Client = c | 	server.Client = c | ||||||
|  |  | ||||||
| 	data, err := c.Request("POST", "/servers/create", []byte("{\"name\": \""+name+"\", \"description\": \""+description+"\", \"nonce\": \""+genULID()+"\"}")) | 	data, err := c.Request("POST", "/servers/create", []byte("{\"name\":\""+name+"\",\"description\":\""+description+"\",\"nonce\":\""+genULID()+"\"}")) | ||||||
|  |  | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return server, err | 		return server, err | ||||||
|   | |||||||
							
								
								
									
										8
									
								
								http.go
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								http.go
									
									
									
									
									
								
							| @@ -27,10 +27,6 @@ func (c Client) Request(method, path string, data []byte) ([]byte, error) { | |||||||
| 		return []byte{}, err | 		return []byte{}, err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if !(resp.StatusCode >= 200 && resp.StatusCode < 300) { |  | ||||||
| 		return []byte{}, fmt.Errorf(resp.Status) |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	defer resp.Body.Close() | 	defer resp.Body.Close() | ||||||
| 	body, err := ioutil.ReadAll(resp.Body) | 	body, err := ioutil.ReadAll(resp.Body) | ||||||
|  |  | ||||||
| @@ -38,5 +34,9 @@ func (c Client) Request(method, path string, data []byte) ([]byte, error) { | |||||||
| 		return []byte{}, err | 		return []byte{}, err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	if !(resp.StatusCode >= 200 && resp.StatusCode < 300) { | ||||||
|  | 		return []byte{}, fmt.Errorf("%s: %s", resp.Status, body) | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	return body, nil | 	return body, nil | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										54
									
								
								server.go
									
									
									
									
									
								
							
							
						
						
									
										54
									
								
								server.go
									
									
									
									
									
								
							| @@ -42,26 +42,26 @@ type SystemMessages struct { | |||||||
| } | } | ||||||
|  |  | ||||||
| // Calculate creation date and edit the struct. | // Calculate creation date and edit the struct. | ||||||
| func (c *Server) CalculateCreationDate() error { | func (s *Server) CalculateCreationDate() error { | ||||||
| 	ulid, err := ulid.Parse(c.Id) | 	ulid, err := ulid.Parse(s.Id) | ||||||
|  |  | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	c.CreatedAt = time.UnixMilli(int64(ulid.Time())) | 	s.CreatedAt = time.UnixMilli(int64(ulid.Time())) | ||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
|  |  | ||||||
| // Edit server. | // Edit server. | ||||||
| func (c Server) Edit(es *EditServer) error { | func (s Server) Edit(es *EditServer) error { | ||||||
| 	data, err := json.Marshal(es) | 	data, err := json.Marshal(es) | ||||||
|  |  | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	_, err = c.Client.Request("PATCH", "/servers/"+c.Id, data) | 	_, err = s.Client.Request("PATCH", "/servers/"+s.Id, data) | ||||||
|  |  | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| @@ -73,8 +73,8 @@ func (c Server) Edit(es *EditServer) error { | |||||||
| // Delete / leave server. | // Delete / leave server. | ||||||
| // If the server not created by client, it will leave. | // If the server not created by client, it will leave. | ||||||
| // Otherwise it will be deleted. | // Otherwise it will be deleted. | ||||||
| func (c Server) Delete() error { | func (s Server) Delete() error { | ||||||
| 	_, err := c.Client.Request("DELETE", "/servers/"+c.Id, []byte{}) | 	_, err := s.Client.Request("DELETE", "/servers/"+s.Id, []byte{}) | ||||||
|  |  | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| @@ -82,3 +82,43 @@ func (c Server) Delete() error { | |||||||
|  |  | ||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // Create a new text-channel. | ||||||
|  | func (s Server) CreateTextChannel(name, description string) (*Channel, error) { | ||||||
|  | 	channel := &Channel{} | ||||||
|  | 	channel.Client = s.Client | ||||||
|  |  | ||||||
|  | 	data, err := s.Client.Request("POST", "/servers/"+s.Id+"/channels", []byte("{\"type\":\"Text\",\"name\":\""+name+"\",\"description\":\""+description+"\",\"nonce\":\""+genULID()+"\"}")) | ||||||
|  |  | ||||||
|  | 	if err != nil { | ||||||
|  | 		return channel, err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	err = json.Unmarshal(data, channel) | ||||||
|  |  | ||||||
|  | 	if err != nil { | ||||||
|  | 		return channel, err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return channel, nil | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Create a new voice-channel. | ||||||
|  | func (s Server) CreateVoiceChannel(name, description string) (*Channel, error) { | ||||||
|  | 	channel := &Channel{} | ||||||
|  | 	channel.Client = s.Client | ||||||
|  |  | ||||||
|  | 	data, err := s.Client.Request("POST", "/servers/"+s.Id+"/channels", []byte("{\"type\":\"Voice\",\"name\":\""+name+"\",\"description\":\""+description+"\",\"nonce\":\""+genULID()+"\"}")) | ||||||
|  |  | ||||||
|  | 	if err != nil { | ||||||
|  | 		return channel, err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	err = json.Unmarshal(data, channel) | ||||||
|  |  | ||||||
|  | 	if err != nil { | ||||||
|  | 		return channel, err | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return channel, nil | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user