def modify_roles(add, remove, reason = nil)
      add_role_ids = role_id_array(add)
      remove_role_ids = role_id_array(remove)
      old_role_ids = @roles.map(&:id)
      new_role_ids = (old_role_ids - remove_role_ids + add_role_ids).uniq

      API::Server.update_member(@bot.token, @server.id, @user.id, roles: new_role_ids, reason: reason)
    end
def modify_roles(add, remove, reason = nil)
      add_role_ids = role_id_array(add)
      remove_role_ids = role_id_array(remove)
      old_role_ids = @roles.map(&:id)
      new_role_ids = (old_role_ids - remove_role_ids + add_role_ids).uniq

      API::Server.update_member(@bot.token, @server.id, @user.id, roles: new_role_ids, reason: reason)
    end
Adds and removes roles from a member.
 @param add [Role, Array<Role>] The role(s) to add.
 @param remove [Role, Array<Role>] The role(s) to remove.
 @param reason [String] The reason the user's roles are being changed.
 @example Remove the 'Member' role from a user, and add the 'Muted' role to them.
   to_add = server.roles.find {|role| role.name == 'Muted'}
   to_remove = server.roles.find {|role| role.name == 'Member'}
   member.modify_roles(to_add, to_remove)