|
|
@ -1772,6 +1772,47 @@ class Client: |
|
|
|
data['channel'] = channel |
|
|
|
return Invite(**data) |
|
|
|
|
|
|
|
@asyncio.coroutine |
|
|
|
def invites_from(self, server): |
|
|
|
"""|coro| |
|
|
|
|
|
|
|
Returns a generator that yields all active instant invites from |
|
|
|
a :class:`Server`. |
|
|
|
|
|
|
|
You must have proper permissions to get this information. |
|
|
|
|
|
|
|
Parameters |
|
|
|
---------- |
|
|
|
server : :class:`Server` |
|
|
|
The server to get invites from. |
|
|
|
|
|
|
|
Raises |
|
|
|
------- |
|
|
|
Forbidden |
|
|
|
You do not have proper permissions to get the information. |
|
|
|
HTTPException |
|
|
|
An error occurred while fetching the information. |
|
|
|
|
|
|
|
Yields |
|
|
|
------- |
|
|
|
:class:`Invite` |
|
|
|
The invite with the message data parsed. |
|
|
|
""" |
|
|
|
|
|
|
|
def generator(data): |
|
|
|
for invite in data: |
|
|
|
channel = utils.get(server.channels, id=invite['channel']['id']) |
|
|
|
invite['channel'] = channel |
|
|
|
invite['server'] = server |
|
|
|
yield Invite(**invite) |
|
|
|
|
|
|
|
url = '{0}/{1.id}/invites'.format(endpoints.SERVERS, server) |
|
|
|
resp = yield from aiohttp.get(url, headers=self.headers, loop=self.loop) |
|
|
|
log.debug(request_logging_format.format(method='GET', response=resp)) |
|
|
|
yield from utils._verify_successful_response(resp) |
|
|
|
data = yield from resp.json() |
|
|
|
return generator(data) |
|
|
|
|
|
|
|
@asyncio.coroutine |
|
|
|
def accept_invite(self, invite): |
|
|
|
"""|coro| |
|
|
|