async def remove_roles(self, *roles, reason=None, atomic=True):
if not atomic:<EOL><INDENT>new_roles = [Object(id=r.id) for r in self.roles[<NUM_LIT:1>:]] <EOL>for role in roles:<EOL><INDENT>try:<EOL><INDENT>new_roles.remove(Object(id=role.id))<EOL><DEDENT>except ValueError:<EOL><INDENT>pass<EOL><DEDENT><DEDENT>await self.edit(roles=new_roles, reason=reason)<EOL><DEDENT>else:<EOL><INDENT>req = self._state.http.remove_role<EOL>guild_id = self.guild.id<EOL>user_id = self.id<EOL>for role in roles:<EOL><INDENT>await req(guild_id, user_id, role.id, reason=reason)<EOL><DEDENT><DEDENT>
r"""|coro|

        Removes :class:`Role`\s from this member.

        You must have the :attr:`~Permissions.manage_roles` permission to
        use this.

        Parameters
        -----------
        \*roles: :class:`Snowflake`
            An argument list of :class:`abc.Snowflake` representing a :class:`Role`
            to remove from the member.
        reason: Optional[:class:`str`]
            The reason for removing these roles. Shows up on the audit log.
        atomic: :class:`bool`
            Whether to atomically remove roles. This will ensure that multiple
            operations will always be applied regardless of the current
            state of the cache.

        Raises
        -------
        Forbidden
            You do not have permissions to remove these roles.
        HTTPException
            Removing the roles failed.