diff options
Diffstat (limited to 'testing/wewordle/Wewordle.py')
-rw-r--r-- | testing/wewordle/Wewordle.py | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/testing/wewordle/Wewordle.py b/testing/wewordle/Wewordle.py deleted file mode 100644 index 0d79c5c7..00000000 --- a/testing/wewordle/Wewordle.py +++ /dev/null @@ -1,97 +0,0 @@ -import os,sys -import requests -import json -import random -import time -import string -# from ...typing import sha256, Dict, get_type_hints - -url = "https://wewordle.org/gptapi/v1/android/turbo" -model = ['gpt-3.5-turbo'] -supports_stream = False -needs_auth = False - - -def _create_completion(model: str, messages: list, stream: bool, **kwargs): - base = '' - for message in messages: - base += '%s: %s\n' % (message['role'], message['content']) - base += 'assistant:' - # randomize user id and app id - _user_id = ''.join(random.choices(f'{string.ascii_lowercase}{string.digits}', k=16)) - _app_id = ''.join(random.choices(f'{string.ascii_lowercase}{string.digits}', k=31)) - # make current date with format utc - _request_date = time.strftime("%Y-%m-%dT%H:%M:%S.000Z", time.gmtime()) - headers = { - 'accept': '*/*', - 'pragma': 'no-cache', - 'Content-Type': 'application/json', - 'Connection':'keep-alive' - # user agent android client - # 'User-Agent': 'Dalvik/2.1.0 (Linux; U; Android 10; SM-G975F Build/QP1A.190711.020)', - - } - data = { - "user": _user_id, - "messages": [ - {"role": "user", "content": base} - ], - "subscriber": { - "originalPurchaseDate": None, - "originalApplicationVersion": None, - "allPurchaseDatesMillis": {}, - "entitlements": { - "active": {}, - "all": {} - }, - "allPurchaseDates": {}, - "allExpirationDatesMillis": {}, - "allExpirationDates": {}, - "originalAppUserId": f"$RCAnonymousID:{_app_id}", - "latestExpirationDate": None, - "requestDate": _request_date, - "latestExpirationDateMillis": None, - "nonSubscriptionTransactions": [], - "originalPurchaseDateMillis": None, - "managementURL": None, - "allPurchasedProductIdentifiers": [], - "firstSeen": _request_date, - "activeSubscriptions": [] - } - } - response = requests.post(url, headers=headers, data=json.dumps(data)) - if response.status_code == 200: - _json = response.json() - if 'message' in _json: - yield _json['message']['content'] - else: - print(f"Error Occurred::{response.status_code}") - return None - -# params = f'g4f.Providers.{os.path.basename(__file__)[:-3]} supports: ' + \ -# '(%s)' % ', '.join( -# [f"{name}: {get_type_hints(_create_completion)[name].__name__}" for name in _create_completion.__code__.co_varnames[:_create_completion.__code__.co_argcount]]) - - -# Temporary For ChatCompletion Class -class ChatCompletion: - @staticmethod - def create(model: str, messages: list, provider: None or str, stream: bool = False, auth: str = False, **kwargs): - kwargs['auth'] = auth - - if provider and needs_auth and not auth: - print( - f'ValueError: {provider} requires authentication (use auth="cookie or token or jwt ..." param)', file=sys.stderr) - sys.exit(1) - - try: - - - return (_create_completion(model, messages, stream, **kwargs) - if stream else ''.join(_create_completion(model, messages, stream, **kwargs))) - except TypeError as e: - print(e) - arg: str = str(e).split("'")[1] - print( - f"ValueError: {provider} does not support '{arg}' argument", file=sys.stderr) - sys.exit(1) |