返回提交历史
Modified
g4f/Provider/Yupp.py
+7
-4
XFEstudio/gpt4free
Refactor Yupp provider to use CloudScraper directly in function signatures
53a7d8a4
代码差异
1 个文件
+7
-4
@@ -5,12 +5,15 @@ import os
5
5
import re
6
6
import time
7
7
import uuid
8
from typing import Type
8
9
from concurrent.futures import ThreadPoolExecutor
9
10
10
11
try:
11
12
import cloudscraper
13
from cloudscraper import CloudScraper
12
14
has_cloudscraper = True
13
15
except ImportError:
16
cloudscraper = CloudScraper = None
14
17
has_cloudscraper = False
15
18
16
19
from .helper import get_last_user_message
@@ -110,7 +113,7 @@ async def get_best_yupp_account() -> Optional[Dict[str, Any]]:
110
113
return account
111
114
112
115
113
def sync_claim_yupp_reward(scraper: cloudscraper.CloudScraper, account: Dict[str, Any], reward_id: str):
116
def sync_claim_yupp_reward(scraper: CloudScraper, account: Dict[str, Any], reward_id: str):
114
117
try:
115
118
log_debug(f"Claiming reward {reward_id}...")
116
119
url = "https://yupp.ai/api/trpc/reward.claim?batch=1"
@@ -127,12 +130,12 @@ def sync_claim_yupp_reward(scraper: cloudscraper.CloudScraper, account: Dict[str
127
130
return None
128
131
129
132
130
async def claim_yupp_reward(scraper: cloudscraper.CloudScraper, account: Dict[str, Any], reward_id: str):
133
async def claim_yupp_reward(scraper: CloudScraper, account: Dict[str, Any], reward_id: str):
131
134
loop = asyncio.get_event_loop()
132
135
return await loop.run_in_executor(_executor, sync_claim_yupp_reward, scraper, account, reward_id)
133
136
134
137
135
def sync_make_chat_private(scraper: cloudscraper.CloudScraper, account: Dict[str, Any], chat_id: str) -> bool:
138
def sync_make_chat_private(scraper: CloudScraper, account: Dict[str, Any], chat_id: str) -> bool:
136
139
try:
137
140
log_debug(f"Setting chat {chat_id} to PRIVATE...")
138
141
url = "https://yupp.ai/api/trpc/chat.updateSharingSettings?batch=1"
@@ -161,7 +164,7 @@ def sync_make_chat_private(scraper: cloudscraper.CloudScraper, account: Dict[str
161
164
return False
162
165
163
166
164
async def make_chat_private(scraper: cloudscraper.CloudScraper, account: Dict[str, Any], chat_id: str) -> bool:
167
async def make_chat_private(scraper: CloudScraper, account: Dict[str, Any], chat_id: str) -> bool:
165
168
loop = asyncio.get_event_loop()
166
169
return await loop.run_in_executor(_executor, sync_make_chat_private, scraper, account, chat_id)
167
170