Move message creation to a factory method inside ConnectionState.
This commit is contained in:
@ -27,9 +27,7 @@ DEALINGS IN THE SOFTWARE.
|
||||
import copy
|
||||
import asyncio
|
||||
|
||||
|
||||
import discord.utils
|
||||
|
||||
from . import utils
|
||||
from .role import Role
|
||||
from .member import Member, VoiceState
|
||||
from .emoji import Emoji
|
||||
@ -230,7 +228,7 @@ class Guild(Hashable):
|
||||
for mdata in guild.get('members', []):
|
||||
roles = [self.default_role]
|
||||
for role_id in mdata['roles']:
|
||||
role = discord.utils.find(lambda r: r.id == role_id, self.roles)
|
||||
role = utils.find(lambda r: r.id == role_id, self.roles)
|
||||
if role is not None:
|
||||
roles.append(role)
|
||||
|
||||
@ -241,8 +239,8 @@ class Guild(Hashable):
|
||||
self._sync(guild)
|
||||
self.large = None if member_count is None else self._member_count >= 250
|
||||
|
||||
self.owner_id = discord.utils._get_as_snowflake(guild, 'owner_id')
|
||||
self.afk_channel = self.get_channel(discord.utils._get_as_snowflake(guild, 'afk_channel_id'))
|
||||
self.owner_id = utils._get_as_snowflake(guild, 'owner_id')
|
||||
self.afk_channel = self.get_channel(utils._get_as_snowflake(guild, 'afk_channel_id'))
|
||||
|
||||
for obj in guild.get('voice_states', []):
|
||||
self._update_voice_state(obj, int(obj['channel_id']))
|
||||
@ -299,15 +297,15 @@ class Guild(Hashable):
|
||||
"""Returns a :class:`Member` with the given ID. If not found, returns None."""
|
||||
return self._members.get(user_id)
|
||||
|
||||
@discord.utils.cached_slot_property('_default_role')
|
||||
@utils.cached_slot_property('_default_role')
|
||||
def default_role(self):
|
||||
"""Gets the @everyone role that all members have by default."""
|
||||
return discord.utils.find(lambda r: r.is_everyone, self.roles)
|
||||
return utils.find(lambda r: r.is_everyone, self.roles)
|
||||
|
||||
@discord.utils.cached_slot_property('_default_channel')
|
||||
@utils.cached_slot_property('_default_channel')
|
||||
def default_channel(self):
|
||||
"""Gets the default :class:`Channel` for the guild."""
|
||||
return discord.utils.find(lambda c: c.is_default, self.channels)
|
||||
return utils.find(lambda c: c.is_default, self.channels)
|
||||
|
||||
@property
|
||||
def owner(self):
|
||||
@ -336,7 +334,7 @@ class Guild(Hashable):
|
||||
@property
|
||||
def created_at(self):
|
||||
"""Returns the guild's creation time in UTC."""
|
||||
return discord.utils.snowflake_time(self.id)
|
||||
return utils.snowflake_time(self.id)
|
||||
|
||||
@property
|
||||
def role_hierarchy(self):
|
||||
@ -384,14 +382,14 @@ class Guild(Hashable):
|
||||
|
||||
# do the actual lookup and return if found
|
||||
# if it isn't found then we'll do a full name lookup below.
|
||||
result = discord.utils.get(members, name=name[:-5], discriminator=potential_discriminator)
|
||||
result = utils.get(members, name=name[:-5], discriminator=potential_discriminator)
|
||||
if result is not None:
|
||||
return result
|
||||
|
||||
def pred(m):
|
||||
return m.nick == name or m.name == name
|
||||
|
||||
return discord.utils.find(pred, members)
|
||||
return utils.find(pred, members)
|
||||
|
||||
|
||||
@asyncio.coroutine
|
||||
@ -475,7 +473,7 @@ class Guild(Hashable):
|
||||
icon = self.icon
|
||||
else:
|
||||
if icon_bytes is not None:
|
||||
icon = discord.utils._bytes_to_base64_data(icon_bytes)
|
||||
icon = utils._bytes_to_base64_data(icon_bytes)
|
||||
else:
|
||||
icon = None
|
||||
|
||||
@ -665,7 +663,7 @@ class Guild(Hashable):
|
||||
An error occurred creating an emoji.
|
||||
"""
|
||||
|
||||
img = discord.utils._bytes_to_base64_data(image)
|
||||
img = utils._bytes_to_base64_data(image)
|
||||
data = yield from self._state.http.create_custom_emoji(self.id, name, img)
|
||||
return self._state.store_emoji(self, data)
|
||||
|
||||
|
Reference in New Issue
Block a user