From c0ec2e7856a8f029ff0cb262c3d7da8a2294bde3 Mon Sep 17 00:00:00 2001 From: HibiKier <775757368@qq.com> Date: Sun, 21 Aug 2022 13:57:17 +0800 Subject: [PATCH] =?UTF-8?q?b=E7=AB=99=E8=AE=A2=E9=98=85=E7=9B=B4=E6=92=AD?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E6=94=AF=E6=8C=81=E7=9F=AD=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/bilibili_sub/__init__.py | 22 +++++----- plugins/bilibili_sub/data_source.py | 67 ++++++++++++++--------------- 2 files changed, 44 insertions(+), 45 deletions(-) diff --git a/plugins/bilibili_sub/__init__.py b/plugins/bilibili_sub/__init__.py index d05b5489..4ae0eeec 100755 --- a/plugins/bilibili_sub/__init__.py +++ b/plugins/bilibili_sub/__init__.py @@ -226,18 +226,18 @@ async def _(): bot = get_bot() sub = None if bot: - try: - await sub_manager.reload_sub_data() - sub = await sub_manager.random_sub_data() - if sub: - logger.debug(f"Bilibili订阅开始检测:{sub.sub_id}") - rst = await get_sub_status(sub.sub_id, sub.sub_type) + # try: + await sub_manager.reload_sub_data() + sub = await sub_manager.random_sub_data() + if sub: + logger.debug(f"Bilibili订阅开始检测:{sub.sub_id}") + rst = await get_sub_status(sub.sub_id, sub.sub_type) + await send_sub_msg(rst, sub, bot) + if sub.sub_type == "live": + rst = await get_sub_status(sub.sub_id, "up") await send_sub_msg(rst, sub, bot) - if sub.sub_type == "live": - rst = await get_sub_status(sub.uid, "up") - await send_sub_msg(rst, sub, bot) - except Exception as e: - logger.error(f"B站订阅推送发生错误 sub_id:{sub.sub_id if sub else 0} {type(e)}:{e}") + # except Exception as e: + # logger.error(f"B站订阅推送发生错误 sub_id:{sub.sub_id if sub else 0} {type(e)}:{e}") async def send_sub_msg(rst: str, sub: BilibiliSub, bot: Bot): diff --git a/plugins/bilibili_sub/data_source.py b/plugins/bilibili_sub/data_source.py index 69dd47c3..03871732 100755 --- a/plugins/bilibili_sub/data_source.py +++ b/plugins/bilibili_sub/data_source.py @@ -38,39 +38,38 @@ async def add_live_sub(live_id: int, sub_user: str) -> str: :param sub_user: 订阅用户 id # 7384933:private or 7384933:2342344(group) :return: """ - # try: try: - """bilibili_api.live库的LiveRoom类中get_room_info改为bilireq.live库的get_room_info_by_id方法""" - live_info = await get_room_info_by_id(live_id) - except ResponseCodeError: - return f"未找到房间号Id:{live_id} 的信息,请检查Id是否正确" - uid = live_info["uid"] - room_id = live_info["room_id"] - short_id = live_info["short_id"] - title = live_info["title"] - live_status = live_info["live_status"] - await BilibiliSub.add_bilibili_sub( - room_id, - "live", - sub_user, - uid=uid, - live_short_id=short_id, - live_status=live_status, - ) - # await _get_up_status(live_id) - uname = (await BilibiliSub.get_sub(live_id)).uname - # uname = 1 - return ( - "已成功订阅主播:\n" - f"\ttitle:{title}\n" - f"\tname: {uname}\n" - f"\tlive_id:{live_id}\n" - f"\tuid:{uid}" - ) - # else: - # return "添加订阅失败..." - # except Exception as e: - # logger.error(f"订阅主播live_id:{live_id} 发生了错误 {type(e)}:{e}") + try: + """bilibili_api.live库的LiveRoom类中get_room_info改为bilireq.live库的get_room_info_by_id方法""" + live_info = await get_room_info_by_id(live_id) + except ResponseCodeError: + return f"未找到房间号Id:{live_id} 的信息,请检查Id是否正确" + uid = live_info["uid"] + room_id = live_info["room_id"] + short_id = live_info["short_id"] + title = live_info["title"] + live_status = live_info["live_status"] + if await BilibiliSub.add_bilibili_sub( + room_id, + "live", + sub_user, + uid=uid, + live_short_id=short_id, + live_status=live_status, + ): + await _get_up_status(room_id) + uname = (await BilibiliSub.get_sub(room_id)).uname + return ( + "已成功订阅主播:\n" + f"\ttitle:{title}\n" + f"\tname: {uname}\n" + f"\tlive_id:{room_id}\n" + f"\tuid:{uid}" + ) + else: + return "添加订阅失败..." + except Exception as e: + logger.error(f"订阅主播live_id:{live_id} 发生了错误 {type(e)}:{e}") return "添加订阅失败..." @@ -251,13 +250,13 @@ async def _get_up_status(id_: int) -> Optional[str]: user_info = await get_user_info(_user.uid) uname = user_info["name"] """bilibili_api.user库中User类的get_videos改为bilireq.user库的get_videos方法""" - video_info = await get_videos(id_) + video_info = await get_videos(_user.uid) latest_video_created = 0 video = None dividing_line = "\n-------------\n" if _user.uname != uname: await BilibiliSub.update_sub_info(id_, uname=uname) - dynamic_img, dynamic_upload_time, link = await get_user_dynamic(id_, _user) + dynamic_img, dynamic_upload_time, link = await get_user_dynamic(_user.uid, _user) if video_info["list"].get("vlist"): video = video_info["list"]["vlist"][0] latest_video_created = video["created"]