Add support for setting and retrieving guild vanity invites.
This commit is contained in:
@ -1003,6 +1003,61 @@ class Guild(Hashable):
|
||||
"""
|
||||
yield from self._state.http.unban(user.id, self.id)
|
||||
|
||||
@asyncio.coroutine
|
||||
def vanity_invite(self):
|
||||
"""|coro|
|
||||
|
||||
Returns the guild's special vanity invite.
|
||||
|
||||
The guild must be partnered, i.e. have 'VANITY_URL' in
|
||||
:attr:`~Guild.features`.
|
||||
|
||||
You must have :attr:`Permissions.manage_guild` to use this as well.
|
||||
|
||||
Returns
|
||||
--------
|
||||
:class:`Invite`
|
||||
The special vanity invite.
|
||||
|
||||
Raises
|
||||
-------
|
||||
Forbidden
|
||||
You do not have the proper permissions to get this.
|
||||
HTTPException
|
||||
Retrieving the vanity invite failed.
|
||||
"""
|
||||
|
||||
# we start with { code: abc }
|
||||
payload = yield from self._state.http.get_vanity_code(self.id)
|
||||
payload['guild'] = self
|
||||
payload['channel'] = self.default_channel
|
||||
payload['revoked'] = False
|
||||
payload['temporary'] = False
|
||||
payload['max_uses'] = 0
|
||||
payload['max_age'] = 0
|
||||
return Invite(state=self._state, data=payload)
|
||||
|
||||
@asyncio.coroutine
|
||||
def change_vanity_invite(self, new_code):
|
||||
"""|coro|
|
||||
|
||||
Changes the guild's special vanity invite.
|
||||
|
||||
The guild must be partnered, i.e. have 'VANITY_URL' in
|
||||
:attr:`~Guild.features`.
|
||||
|
||||
You must have :attr:`Permissions.manage_guild` to use this as well.
|
||||
|
||||
Raises
|
||||
-------
|
||||
Forbidden
|
||||
You do not have the proper permissions to set this.
|
||||
HTTPException
|
||||
Setting the vanity invite failed.
|
||||
"""
|
||||
|
||||
yield from self._state.http.change_vanity_code(self.id, new_code)
|
||||
|
||||
def ack(self):
|
||||
"""|coro|
|
||||
|
||||
|
Reference in New Issue
Block a user