diff options
Diffstat (limited to 'ATRI/plugins/anti_effort/data_source.py')
-rw-r--r-- | ATRI/plugins/anti_effort/data_source.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/ATRI/plugins/anti_effort/data_source.py b/ATRI/plugins/anti_effort/data_source.py index f9a943f..0a0ef02 100644 --- a/ATRI/plugins/anti_effort/data_source.py +++ b/ATRI/plugins/anti_effort/data_source.py @@ -21,13 +21,14 @@ class AntiEffort(Service): self, "谁是卷王", "谁是卷王!", rule=is_in_service("谁是卷王"), main_cmd="/ae" ) - def add_user(self, group_id: int, user_id: int, waka_url: str) -> str: + def add_user( + self, group_id: int, user_id: int, user_nickname: str, waka_url: str + ) -> str: patt = r"/@([a-zA-Z0-9].*?)/([a-zA-Z0-9].*?).json" match = re.findall(patt, waka_url) if not match: return "哥,你提供的链接有问题啊" - w_user_name = match[0][0] w_user_id = match[0][1] file_path = PLUGIN_DIR / f"{group_id}.json" @@ -36,10 +37,14 @@ class AntiEffort(Service): f.write(json.dumps(list())) data: list = json.loads(file_path.read_text()) + for i in data: + if i["user_id"] == user_id: + return "你已经在卷王统计榜力!" + data.append( AntiEffortUserModel( user_id=user_id, - w_user_name=w_user_name, + user_nickname=user_nickname, w_user_id=w_user_id, waka_url=waka_url, last_7_days_count=int(), @@ -62,7 +67,7 @@ class AntiEffort(Service): f.write(json.dumps(data)) return "成功退出卷王统计榜!" - return "贵群还没有人加入卷王统计榜!" + return "你未加入卷王统计榜捏" def get_data(self, group_id: int) -> list: file_path = PLUGIN_DIR / f"{group_id}.json" @@ -99,11 +104,11 @@ class AntiEffort(Service): for j in data: try: resp = await request.get(j["waka_url"]) + user_w_data = resp.json() # type: ignore except Exception: log.error(f"获取卷王 {j['user_id']} 数据失败!") continue - user_w_data = resp.json() # type: ignore d = user_w_data["data"] user_w_last_7_days_count = float() user_w_recent_count = float(d[-1]["grand_total"]["decimal"]) |