def edit_emoji(emoji, name: nil, roles: nil, reason: nil)
      emoji = @emoji[emoji.resolve_id]
      data = JSON.parse(API::Server.edit_emoji(@bot.token, @id, emoji.resolve_id, name || emoji.name, (roles || emoji.roles).map(&:resolve_id), reason))
      new_emoji = Emoji.new(data)
      @emoji[new_emoji.id] = new_emoji
    end
def edit_emoji(emoji, name: nil, roles: nil, reason: nil)
      emoji = @emoji[emoji.resolve_id]
      data = JSON.parse(API::Server.edit_emoji(@bot.token, @id, emoji.resolve_id, name || emoji.name, (roles || emoji.roles).map(&:resolve_id), reason))
      new_emoji = Emoji.new(data)
      @emoji[new_emoji.id] = new_emoji
    end
Changes the name and/or role whitelist of an emoji on this server.
 @param emoji [Emoji, Integer, String] The emoji or emoji ID to edit.
 @param name [String] The new name for the emoji.
 @param roles [Array<Role, Integer, String>] A new array of roles, or role IDs, to whitelist.
 @param reason [String] The reason for the editing of this emoji.
 @return [Emoji] The edited emoji.