From 1cdc34e413fd9bee9fefd4765b06261601d5a8ca Mon Sep 17 00:00:00 2001 From: antihax Date: Sun, 25 Mar 2018 20:25:19 -0700 Subject: [PATCH] Add GuildMemberAdd --- restapi.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/restapi.go b/restapi.go index aa76a72..ea97608 100644 --- a/restapi.go +++ b/restapi.go @@ -776,6 +776,32 @@ func (s *Session) GuildMember(guildID, userID string) (st *Member, err error) { return } +// GuildMemberAdd force joins a user to the guild. +// accessToken : Valid access_token for the user. +// guildID : The ID of a Guild. +// userID : The ID of a User. +// nick : Value to set users nickname to +// roles : A list of role ID's to set on the member. +// mute : If the user is muted. +// deaf : If the user is deafened. +func (s *Session) GuildMemberAdd(accessToken, guildID, userID, nick string, roles []string, mute, deaf bool) (err error) { + + data := struct { + AccessToken string `json:"access_token"` + Nick string `json:"nick,omitempty"` + Roles []string `json:"roles,omitempty"` + Mute bool `json:"mute,omitempty"` + Deaf bool `json:"deaf,omitempty"` + }{accessToken, nick, roles, mute, deaf} + + _, err = s.RequestWithBucketID("PUT", EndpointGuildMember(guildID, userID), data, EndpointGuildMember(guildID, "")) + if err != nil { + return err + } + + return err +} + // GuildMemberDelete removes the given user from the given guild. // guildID : The ID of a Guild. // userID : The ID of a User