mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-05-16 18:59:09 +00:00
Fix bug with Client.move_channel and Client.move_role.
This commit is contained in:
parent
793cbedd0d
commit
5a6a3574b1
@ -15,7 +15,7 @@ __title__ = 'discord'
|
|||||||
__author__ = 'Rapptz'
|
__author__ = 'Rapptz'
|
||||||
__license__ = 'MIT'
|
__license__ = 'MIT'
|
||||||
__copyright__ = 'Copyright 2015-2016 Rapptz'
|
__copyright__ = 'Copyright 2015-2016 Rapptz'
|
||||||
__version__ = '0.16.3'
|
__version__ = '0.16.4'
|
||||||
|
|
||||||
from .client import Client, AppInfo, ChannelPermissions
|
from .client import Client, AppInfo, ChannelPermissions
|
||||||
from .user import User
|
from .user import User
|
||||||
@ -43,7 +43,7 @@ import logging
|
|||||||
|
|
||||||
VersionInfo = namedtuple('VersionInfo', 'major minor micro releaselevel serial')
|
VersionInfo = namedtuple('VersionInfo', 'major minor micro releaselevel serial')
|
||||||
|
|
||||||
version_info = VersionInfo(major=0, minor=16, micro=3, releaselevel='final', serial=0)
|
version_info = VersionInfo(major=0, minor=16, micro=4, releaselevel='final', serial=0)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from logging import NullHandler
|
from logging import NullHandler
|
||||||
|
@ -2042,7 +2042,6 @@ class Client:
|
|||||||
if position < 0:
|
if position < 0:
|
||||||
raise InvalidArgument('Channel position cannot be less than 0.')
|
raise InvalidArgument('Channel position cannot be less than 0.')
|
||||||
|
|
||||||
url = '{0}/{1.server.id}/channels'.format(self.http.GUILDS, channel)
|
|
||||||
channels = [c for c in channel.server.channels if c.type is channel.type]
|
channels = [c for c in channel.server.channels if c.type is channel.type]
|
||||||
|
|
||||||
if position >= len(channels):
|
if position >= len(channels):
|
||||||
@ -2061,7 +2060,7 @@ class Client:
|
|||||||
channels.insert(position, channel)
|
channels.insert(position, channel)
|
||||||
|
|
||||||
payload = [{'id': c.id, 'position': index } for index, c in enumerate(channels)]
|
payload = [{'id': c.id, 'position': index } for index, c in enumerate(channels)]
|
||||||
yield from self.http.patch(url, json=payload, bucket='move_channel')
|
yield from self.http.move_channel_position(channel.server.id, payload)
|
||||||
|
|
||||||
@asyncio.coroutine
|
@asyncio.coroutine
|
||||||
def create_channel(self, server, name, *overwrites, type=None):
|
def create_channel(self, server, name, *overwrites, type=None):
|
||||||
@ -2781,8 +2780,6 @@ class Client:
|
|||||||
if role.position == position:
|
if role.position == position:
|
||||||
return # Save discord the extra request.
|
return # Save discord the extra request.
|
||||||
|
|
||||||
url = '{0}/{1.id}/roles'.format(self.http.GUILDS, server)
|
|
||||||
|
|
||||||
change_range = range(min(role.position, position), max(role.position, position) + 1)
|
change_range = range(min(role.position, position), max(role.position, position) + 1)
|
||||||
|
|
||||||
roles = [r.id for r in sorted(filter(lambda x: (x.position in change_range) and x != role, server.roles), key=lambda x: x.position)]
|
roles = [r.id for r in sorted(filter(lambda x: (x.position in change_range) and x != role, server.roles), key=lambda x: x.position)]
|
||||||
@ -2793,7 +2790,7 @@ class Client:
|
|||||||
roles.append(role.id)
|
roles.append(role.id)
|
||||||
|
|
||||||
payload = [{"id": z[0], "position": z[1]} for z in zip(roles, change_range)]
|
payload = [{"id": z[0], "position": z[1]} for z in zip(roles, change_range)]
|
||||||
yield from self.http.patch(url, json=payload, bucket='move_role')
|
yield from self.http.move_role_position(server.id, payload)
|
||||||
|
|
||||||
@asyncio.coroutine
|
@asyncio.coroutine
|
||||||
def edit_role(self, server, role, **fields):
|
def edit_role(self, server, role, **fields):
|
||||||
|
@ -468,8 +468,6 @@ class HTTPClient:
|
|||||||
# Channel management
|
# Channel management
|
||||||
|
|
||||||
def edit_channel(self, channel_id, **options):
|
def edit_channel(self, channel_id, **options):
|
||||||
url = '{0.CHANNELS}/{1}'.format(self, channel_id)
|
|
||||||
|
|
||||||
valid_keys = ('name', 'topic', 'bitrate', 'user_limit', 'position')
|
valid_keys = ('name', 'topic', 'bitrate', 'user_limit', 'position')
|
||||||
payload = {
|
payload = {
|
||||||
k: v for k, v in options.items() if k in valid_keys
|
k: v for k, v in options.items() if k in valid_keys
|
||||||
@ -477,6 +475,10 @@ class HTTPClient:
|
|||||||
|
|
||||||
return self.request(Route('PATCH', '/channels/{channel_id}', channel_id=channel_id), json=payload)
|
return self.request(Route('PATCH', '/channels/{channel_id}', channel_id=channel_id), json=payload)
|
||||||
|
|
||||||
|
def move_channel_position(self, guild_id, positions):
|
||||||
|
r = Route('PATCH', '/guilds/{guild_id}/channels', guild_id=guild_id)
|
||||||
|
return self.request(r, json=positions)
|
||||||
|
|
||||||
def create_channel(self, guild_id, name, channe_type, permission_overwrites=None):
|
def create_channel(self, guild_id, name, channe_type, permission_overwrites=None):
|
||||||
payload = {
|
payload = {
|
||||||
'name': name,
|
'name': name,
|
||||||
@ -600,6 +602,10 @@ class HTTPClient:
|
|||||||
r = Route('POST', '/guilds/{guild_id}/roles', guild_id=guild_id)
|
r = Route('POST', '/guilds/{guild_id}/roles', guild_id=guild_id)
|
||||||
return self.request(r)
|
return self.request(r)
|
||||||
|
|
||||||
|
def move_role_position(self, guild_id, positions):
|
||||||
|
r = Route('PATCH', '/guilds/{guild_id}/roles', guild_id=guild_id)
|
||||||
|
return self.request(r, json=positions)
|
||||||
|
|
||||||
def add_role(self, guild_id, user_id, role_id):
|
def add_role(self, guild_id, user_id, role_id):
|
||||||
r = Route('PUT', '/guilds/{guild_id}/members/{user_id}/roles/{role_id}',
|
r = Route('PUT', '/guilds/{guild_id}/members/{user_id}/roles/{role_id}',
|
||||||
guild_id=guild_id, user_id=user_id, role_id=role_id)
|
guild_id=guild_id, user_id=user_id, role_id=role_id)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user