mirror of
https://github.com/Rapptz/discord.py.git
synced 2025-06-07 12:18:59 +00:00
Performance improvements in on_typing event.
This commit is contained in:
parent
b1b2c0d099
commit
e884119cd9
@ -401,16 +401,15 @@ class ConnectionState(object):
|
|||||||
if channel is not None:
|
if channel is not None:
|
||||||
member = None
|
member = None
|
||||||
user_id = data.get('user_id')
|
user_id = data.get('user_id')
|
||||||
if not getattr(channel, 'is_private', True):
|
is_private = getattr(channel, 'is_private', None)
|
||||||
|
if is_private == None:
|
||||||
|
return
|
||||||
|
|
||||||
|
if is_private:
|
||||||
|
member = channel.user
|
||||||
|
else:
|
||||||
members = channel.server.members
|
members = channel.server.members
|
||||||
member = utils.find(lambda m: m.id == user_id, members)
|
member = utils.find(lambda m: m.id == user_id, members)
|
||||||
else:
|
|
||||||
# At the moment we can make the assumption that if we are
|
|
||||||
# in a private channel then the user belongs to one of our
|
|
||||||
# already existing server member lists.
|
|
||||||
# This might change when we get friend lists.
|
|
||||||
gen = (m for s in self.servers for m in s.members)
|
|
||||||
member = utils.find(lambda m: m.id == user_id, gen)
|
|
||||||
|
|
||||||
if member is not None:
|
if member is not None:
|
||||||
timestamp = datetime.datetime.utcfromtimestamp(data.get('timestamp'))
|
timestamp = datetime.datetime.utcfromtimestamp(data.get('timestamp'))
|
||||||
|
@ -251,10 +251,11 @@ to handle it, which defaults to print a traceback and ignore the exception.
|
|||||||
Called when someone begins typing a message.
|
Called when someone begins typing a message.
|
||||||
|
|
||||||
The ``channel`` parameter could either be a :class:`PrivateChannel` or a
|
The ``channel`` parameter could either be a :class:`PrivateChannel` or a
|
||||||
:class:`Channel`.
|
:class:`Channel`. If ``channel`` is a :class:`PrivateChannel` then the
|
||||||
|
``user`` parameter is a :class:`User`, otherwise it is a :class:`Member`.
|
||||||
|
|
||||||
:param channel: The location where the typing originated from.
|
:param channel: The location where the typing originated from.
|
||||||
:param user: The :class:`Member` that started typing.
|
:param user: The user that started typing.
|
||||||
:param when: A ``datetime.datetime`` object representing when typing started.
|
:param when: A ``datetime.datetime`` object representing when typing started.
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user