From 82d64b9b37b4c8a732c4ab105580b765af2900d9 Mon Sep 17 00:00:00 2001 From: Andrew Ferrazzutti Date: Mon, 16 May 2022 02:07:08 -0400 Subject: [PATCH] Support a more obvious non-cached connection check --- matrix_appservice_kakaotalk/commands/conn.py | 2 +- matrix_appservice_kakaotalk/user.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/matrix_appservice_kakaotalk/commands/conn.py b/matrix_appservice_kakaotalk/commands/conn.py index 257e5e0..4cec870 100644 --- a/matrix_appservice_kakaotalk/commands/conn.py +++ b/matrix_appservice_kakaotalk/commands/conn.py @@ -63,7 +63,7 @@ async def ping(evt: CommandEvent) -> None: if not await evt.sender.is_logged_in(): await evt.reply("You are **logged out** of KakaoTalk.") else: - is_connected = evt.sender.is_connected and await evt.sender.client.is_connected() + is_connected = await evt.sender.is_connected_now() await evt.reply( "You are logged into KakaoTalk.\n\n" f"You are {'connected to' if is_connected else '**disconnected** from'} KakaoTalk chats." diff --git a/matrix_appservice_kakaotalk/user.py b/matrix_appservice_kakaotalk/user.py index f06e37c..b693246 100644 --- a/matrix_appservice_kakaotalk/user.py +++ b/matrix_appservice_kakaotalk/user.py @@ -177,6 +177,9 @@ class User(DBUser, BaseUser): self._is_connected = val self._connection_time = time.monotonic() + async def is_connected_now(self) -> bool: + return self._client is not None and await self._client.is_connected() + @property def connection_time(self) -> float: return self._connection_time