From 839a6163da5124aeb9b04069ff25be0c3631f9d6 Mon Sep 17 00:00:00 2001 From: 5elenay <5elenay@protonmail.com> Date: Thu, 26 Aug 2021 17:02:04 +0300 Subject: [PATCH] added set server permission function. --- channel.go | 2 +- server.go | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/channel.go b/channel.go index 36db287..75fecba 100644 --- a/channel.go +++ b/channel.go @@ -203,7 +203,7 @@ func (c Channel) CreateInvite() (string, error) { // Set channel permissions for a role. // Leave role field empty if you want to edit default permissions -func (c Channel) SetChannelPermissions(role_id string, permissions uint) error { +func (c Channel) SetPermissions(role_id string, permissions uint) error { if role_id == "" { role_id = "default" } diff --git a/server.go b/server.go index 50501bd..29ec26f 100644 --- a/server.go +++ b/server.go @@ -2,6 +2,7 @@ package revoltgo import ( "encoding/json" + "fmt" "time" "github.com/oklog/ulid/v2" @@ -269,6 +270,22 @@ func (s Server) FetchBans() (*FetchedBans, error) { return bans, nil } +// Set server permissions for a role. +// Leave role field empty if you want to edit default permissions +func (s Server) SetPermissions(role_id string, channel_permissions, server_permissions uint) error { + if role_id == "" { + role_id = "default" + } + + _, err := c.Client.Request("PUT", "/servers/"+s.Id+"/permissions/"+role_id, []byte(fmt.Sprintf("{\"permissions\":{\"server\":%d,\"channel\":%d}}", channel_permissions, server_permissions))) + + if err != nil { + return err + } + + return nil +} + // // Fetch all server invites. // func (s Server) FetchInvites() { // data, _ := s.Client.Request("GET", "/servers/"+s.Id+"/invites", []byte{})