From 73492dd1d3ceae56170dfaf96c10bab76de1f994 Mon Sep 17 00:00:00 2001 From: 5elenay <5elenay@protonmail.com> Date: Wed, 25 Aug 2021 09:40:46 +0300 Subject: [PATCH] added edit member struct. --- other.go | 45 +++++++++++++++++++++++++++++++++++++++++++++ server.go | 5 +++++ 2 files changed, 50 insertions(+) diff --git a/other.go b/other.go index 5b00fe3..f460401 100644 --- a/other.go +++ b/other.go @@ -164,3 +164,48 @@ func (es *EditServer) RemoveItem(item string) *EditServer { es.Remove = item return es } + +// Edit member struct. +// Please see https://developers.revolt.chat/api/#tag/Server-Members/paths/~1servers~1:server~1members~1:member/patch for more information. +type EditMember struct { + Nickname string `json:"nickname,omitempty"` + Avatar string `json:"avatar,omitempty"` + Roles []string `json:"roles,omitempty"` + Remove string `json:"remove,omitempty"` +} + +// Set nickname for struct. +func (em *EditMember) SetNickname(nick string) *EditMember { + if len(nick) < 1 || len(nick) > 32 { + return em + } + + em.Nickname = nick + return em +} + +// Set avatar for struct. +func (em *EditMember) SetAvatar(autumn_id string) *EditMember { + if len(autumn_id) < 1 || len(autumn_id) > 128 { + return em + } + + em.Avatar = autumn_id + return em +} + +// Add role for struct. +func (em *EditMember) AddRole(role_id string) *EditMember { + em.Roles = append(em.Roles, role_id) + return em +} + +// Set remove item. +func (em *EditMember) RemoveItem(item string) *EditMember { + if item != "Avatar" && item != "Nickname" { + return em + } + + em.Remove = item + return em +} diff --git a/server.go b/server.go index 464f582..9d8bd22 100644 --- a/server.go +++ b/server.go @@ -153,6 +153,11 @@ func (s Server) FetchMember(id string) (*Member, error) { return member, nil } +// Edit a member. +func (s Server) EditMember(id string) { + +} + // // Fetch all server invites. // func (s Server) FetchInvites() { // data, _ := s.Client.Request("GET", "/servers/"+s.Id+"/invites", []byte{})