From 59c923bbc3e91ad5a3482ec81c9192297ebbebe8 Mon Sep 17 00:00:00 2001 From: Kyomotoi <kyomotoiowo@gmail.com> Date: Mon, 13 Jun 2022 19:37:34 +0800 Subject: =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=E9=87=8D=E6=9E=84=E6=8F=92?= =?UTF-8?q?=E4=BB=B6:=20b=E7=AB=99=E5=8A=A8=E6=80=81=E8=AE=A2=E9=98=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ATRI/plugins/bilibili_dynamic/api.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 ATRI/plugins/bilibili_dynamic/api.py (limited to 'ATRI/plugins/bilibili_dynamic/api.py') diff --git a/ATRI/plugins/bilibili_dynamic/api.py b/ATRI/plugins/bilibili_dynamic/api.py new file mode 100644 index 0000000..a455805 --- /dev/null +++ b/ATRI/plugins/bilibili_dynamic/api.py @@ -0,0 +1,36 @@ +from ATRI.utils import request +from ATRI.exceptions import RequestError + + +class API: + def __init__(self, uid: int): + self.uid = uid + + async def _request(self, url: str, params: dict = dict()) -> dict: + headers = { + "Referer": "https://www.bilibili.com", + "User-Agent": "Mozilla/5.0", + } + + try: + resp = await request.get(url, params=params, headers=headers) + except RequestError: + raise RequestError("Request failed!") + + return resp.json() + + async def get_user_info(self) -> dict: + url = "https://api.bilibili.com/x/space/acc/info" + params = {"mid": self.uid} + return await self._request(url, params) + + async def get_user_dynamics( + self, offset: int = int(), need_top: bool = False + ) -> dict: + url = "https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/space_history" + params = { + "host_uid": self.uid, + "offset_dynamic_id": offset, + "need_top": 1 if need_top else 0, + } + return await self._request(url, params) -- cgit v1.2.3