ソースを参照

Support GuildMemberEdit api.

Chris Rhodes 9 年 前
コミット
b0188cd71e
1 ファイル変更21 行追加0 行削除
  1. 21 0
      restapi.go

+ 21 - 0
restapi.go

@@ -435,6 +435,27 @@ func (s *Session) GuildMemberDelete(guildID, userID string) (err error) {
 	return
 }
 
+// GuildMemberEdit edits the roles of a member.
+// guildID  : The ID of a Guild.
+// userID   : The ID of a User.
+// roles    : A list of roles to set on the member.
+func (s *Session) GuildMemberEdit(guildID, userID string, roles []*Role) (err error) {
+	data := struct {
+		Roles []string `json:"roles"`
+	}{[]string{}}
+
+	for _, r := range roles {
+		data.Roles = append(data.Roles, r.ID)
+	}
+
+	_, err = s.Request("PATCH", GUILD_MEMBER(guildID, userID), data)
+	if err != nil {
+		return
+	}
+
+	return
+}
+
 // GuildChannels returns an array of Channel structures for all channels of a
 // given guild.
 // guildID   : The ID of a Guild.