diff options
author | H Lohaus <hlohaus@users.noreply.github.com> | 2023-12-07 07:18:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-07 07:18:05 +0100 |
commit | 484b96d850aca9b9144f3b8dd2fb502b25356c22 (patch) | |
tree | b10fe200193cfdbe0ee25714df49959c01c6265f /g4f/Provider/MyShell.py | |
parent | Update Pi.py (diff) | |
download | gpt4free-484b96d850aca9b9144f3b8dd2fb502b25356c22.tar gpt4free-484b96d850aca9b9144f3b8dd2fb502b25356c22.tar.gz gpt4free-484b96d850aca9b9144f3b8dd2fb502b25356c22.tar.bz2 gpt4free-484b96d850aca9b9144f3b8dd2fb502b25356c22.tar.lz gpt4free-484b96d850aca9b9144f3b8dd2fb502b25356c22.tar.xz gpt4free-484b96d850aca9b9144f3b8dd2fb502b25356c22.tar.zst gpt4free-484b96d850aca9b9144f3b8dd2fb502b25356c22.zip |
Diffstat (limited to 'g4f/Provider/MyShell.py')
-rw-r--r-- | g4f/Provider/MyShell.py | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/g4f/Provider/MyShell.py b/g4f/Provider/MyShell.py index 2ee94bb6..b0a01016 100644 --- a/g4f/Provider/MyShell.py +++ b/g4f/Provider/MyShell.py @@ -5,7 +5,7 @@ import time, json from ..typing import CreateResult, Messages from .base_provider import BaseProvider from .helper import format_prompt -from ..webdriver import WebDriver, WebDriverSession +from ..webdriver import WebDriver, WebDriverSession, bypass_cloudflare class MyShell(BaseProvider): url = "https://app.myshell.ai/chat" @@ -25,16 +25,8 @@ class MyShell(BaseProvider): **kwargs ) -> CreateResult: with WebDriverSession(webdriver, "", proxy=proxy) as driver: - from selenium.webdriver.common.by import By - from selenium.webdriver.support.ui import WebDriverWait - from selenium.webdriver.support import expected_conditions as EC - - driver.get(cls.url) - - # Wait for page load and cloudflare validation - WebDriverWait(driver, timeout).until( - EC.presence_of_element_located((By.CSS_SELECTOR, "body:not(.no-js)")) - ) + bypass_cloudflare(driver, cls.url, timeout) + # Send request with message data = { "botId": "4738", @@ -58,11 +50,11 @@ window._reader = response.body.pipeThrough(new TextDecoderStream()).getReader(); driver.execute_script(script.replace("{body}", json.dumps(data))) script = """ chunk = await window._reader.read(); -if (chunk['done']) { +if (chunk.done) { return null; } content = ''; -chunk['value'].split('\\n').forEach((line, index) => { +chunk.value.split('\\n').forEach((line, index) => { if (line.startsWith('data: ')) { try { const data = JSON.parse(line.substring('data: '.length)); |