Repository: Rapptz/discord.py
File: discord/guild.py (Python)

Code before:
        name: str = ...,
        permissions: Permissions = ...,
        color: Union[Colour, int] = ...,
        hoist: bool = ...,
        display_icon: Union[bytes, str] = MISSING,
        mentionable: bool = ...,
        secondary_color: Union[Colour, int, None] = ...,
        tertiary_color: Union[Colour, int, None] = ...,
    ) -> Role:
        ...

    async def create_role(
        self,
        *,
        name: str = MISSING,
        permissions: Permissions = MISSING,
        color: Union[Colour, int] = MISSING,
        colour: Union[Colour, int] = MISSING,
        hoist: bool = MISSING,
        display_icon: Union[bytes, str] = MISSING,
        mentionable: bool = MISSING,
        reason: Optional[str] = None,
        secondary_color: Union[Colour, int, None] = MISSING,
        tertiary_color: Union[Colour, int, None] = MISSING,
        secondary_colour: Union[Colour, int, None] = MISSING,
        tertiary_colour: Union[Colour, int, None] = MISSING,
    ) -> Role:
        """|coro|

        Creates a :class:`Role` for the guild.

        All fields are optional.

        You must have :attr:`~Permissions.manage_roles` to do this.

        .. versionchanged:: 1.6
            Can now pass ``int`` to ``colour`` keyword-only parameter.

        .. versionadded:: 2.0
            The ``display_icon`` keyword-only parameter was added.

        .. versionchanged:: 2.0
            This function will now raise :exc:`TypeError` instead of
            ``InvalidArgument``.

        Parameters
        -----------
        name: :class:`str`
            The role name. Defaults to 'new role'.
        permissions: :class:`Permissions`
            The permissions to have. Defaults to no permissions.

Review comment (suggestion):
```suggestion
        secondary_color: Optional[Union[Colour, int]] = MISSING,
        tertiary_color: Optional[Union[Colour, int]] = MISSING,
        secondary_colour: Optional[Union[Colour, int]] = MISSING,
        tertiary_colour: Optional[Union[Colour, int]] = MISSING,
```

Code after:
        name: str = ...,
        permissions: Permissions = ...,
        color: Union[Colour, int] = ...,
        hoist: bool = ...,
        display_icon: Union[bytes, str] = MISSING,
        mentionable: bool = ...,
        secondary_color: Optional[Union[Colour, int]] = ...,
        tertiary_color: Optional[Union[Colour, int]] = ...,
    ) -> Role:
        ...

    async def create_role(
        self,
        *,
        name: str = MISSING,
        permissions: Permissions = MISSING,
        color: Union[Colour, int] = MISSING,
        colour: Union[Colour, int] = MISSING,
        hoist: bool = MISSING,
        display_icon: Union[bytes, str] = MISSING,
        mentionable: bool = MISSING,
        reason: Optional[str] = None,
        secondary_color: Optional[Union[Colour, int]] = MISSING,
        tertiary_color: Optional[Union[Colour, int]] = MISSING,
        secondary_colour: Optional[Union[Colour, int]] = MISSING,
        tertiary_colour: Optional[Union[Colour, int]] = MISSING,
    ) -> Role:
        """|coro|

        Creates a :class:`Role` for the guild.

        All fields are optional.

        You must have :attr:`~Permissions.manage_roles` to do this.

        .. versionchanged:: 1.6
            Can now pass ``int`` to ``colour`` keyword-only parameter.

        .. versionadded:: 2.0
            The ``display_icon`` keyword-only parameter was added.

        .. versionchanged:: 2.0
            This function will now raise :exc:`TypeError` instead of
            ``InvalidArgument``.

        .. versionchanged:: 2.6
            The ``colour`` and ``color`` parameters now set the role's primary color.


        Parameters
        -----------