From 94655c77c0d681f2ed1b4dbff982adce1718970b Mon Sep 17 00:00:00 2001 From: Rapptz Date: Tue, 3 Jan 2017 20:24:42 -0500 Subject: [PATCH] Fix Messageable.typing context manager. --- discord/abc.py | 3 +-- discord/context_managers.py | 13 +++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/discord/abc.py b/discord/abc.py index 7814772a9..5711ef706 100644 --- a/discord/abc.py +++ b/discord/abc.py @@ -592,8 +592,7 @@ class Messageable(metaclass=abc.ABCMeta): await channel.send_message('done!') """ - channel = yield from self._get_channel() - return Typing(channel) + return Typing(self) @asyncio.coroutine def get_message(self, id): diff --git a/discord/context_managers.py b/discord/context_managers.py index 5fbf03448..83398f13e 100644 --- a/discord/context_managers.py +++ b/discord/context_managers.py @@ -29,16 +29,17 @@ import asyncio from .compat import create_task class Typing: - def __init__(self, channel): - http = channel._state.http - self.loop = http.loop - self.channel = channel - self.typing = http.send_typing + def __init__(self, messageable): + self.loop = messageable._state.loop + self.messageable = messageable @asyncio.coroutine def do_typing(self): + channel = yield from self.messageable._get_channel() + typing = channel._state.http.send_typing + while True: - yield from self.typing(self.channel.id) + yield from typing(channel.id) yield from asyncio.sleep(5) def __enter__(self):