From cfd8ef2dada792dff6ede50490a298df71efaf1f Mon Sep 17 00:00:00 2001 From: LWR Date: Sat, 12 Aug 2023 00:16:37 +0800 Subject: [PATCH] fix: Catch ResponseCodeException in follow user http api when repeat follow --- starbot/core/server.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/starbot/core/server.py b/starbot/core/server.py index 69360b6..5205e57 100644 --- a/starbot/core/server.py +++ b/starbot/core/server.py @@ -9,7 +9,7 @@ from loguru import logger from .datasource import DataSource from .model import Message, PushType from .user import User, RelationType -from ..exception import DataSourceException +from ..exception import DataSourceException, ResponseCodeException from ..utils import config from ..utils.utils import get_credential @@ -75,7 +75,11 @@ async def follow(request: aiohttp.web.Request) -> aiohttp.web.Response: uid = int(request.match_info['uid']) u = User(uid, get_credential()) - await u.modify_relation(RelationType.SUBSCRIBE) + try: + await u.modify_relation(RelationType.SUBSCRIBE) + except ResponseCodeException as ex: + if ex.code != 22014: + raise ex return web.Response(text="success")