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:
|
||||
member = None
|
||||
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
|
||||
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:
|
||||
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.
|
||||
|
||||
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 user: The :class:`Member` that started typing.
|
||||
:param user: The user that started typing.
|
||||
:param when: A ``datetime.datetime`` object representing when typing started.
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user