Add ability to change nicknames via Client.change_nickname
This commit is contained in:
parent
133e8d3a44
commit
07adb1d5e9
@ -1399,6 +1399,45 @@ class Client:
|
||||
"""
|
||||
yield from self.ws.change_presence(game=game, idle=idle)
|
||||
|
||||
@asyncio.coroutine
|
||||
def change_nickname(self, member, nickname):
|
||||
"""|coro|
|
||||
|
||||
Changes a member's nickname.
|
||||
|
||||
You must have the proper permissions to change someone's
|
||||
(or your own) nickname.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
member : :class:`Member`
|
||||
The member to change the nickname for.
|
||||
nickname : Optional[str]
|
||||
The nickname to change it to. ``None`` to remove
|
||||
the nickname.
|
||||
|
||||
Raises
|
||||
------
|
||||
Forbidden
|
||||
You do not have permissions to change the nickname.
|
||||
HTTPException
|
||||
Editing the channel failed.
|
||||
"""
|
||||
|
||||
url = '{0}/{1.server.id}/members/{1.id}'.format(endpoints.SERVERS, member)
|
||||
|
||||
payload = {
|
||||
# oddly enough, this endpoint requires '' to clear the nickname
|
||||
# instead of the more consistent 'null', this might change in the
|
||||
# future, or not.
|
||||
'nick': nickname if nickname else ''
|
||||
}
|
||||
|
||||
r = yield from self.session.patch(url, data=utils.to_json(payload), headers=self.headers)
|
||||
log.debug(request_logging_format.format(method='PATCH', response=r))
|
||||
yield from utils._verify_successful_response(r)
|
||||
yield from r.release()
|
||||
|
||||
# Channel management
|
||||
|
||||
@asyncio.coroutine
|
||||
|
Loading…
x
Reference in New Issue
Block a user