Python package for interacting with the POE chatbot
Project description
PoePT
PoePT is a Selenium Python package that provides a simple interface for interacting with the Poe chatbot. Giving you access to multiple chatbots like:
- ChatGPT-3
- ChatGPT-4
- Claude-Instant
Installation
You can install PoePT using pip:
pip install poept
Requirements:
- a POE account (make one at poe.com)
- Chrome
Usage
Here's an example of how to use PoePT to log in to the Poe chatbot and ask a question:
- create connection with bot
- login is needed every time but will only ask for code if you havent logged in before
from poept import PoePT
bot = PoePT()
bot.login("your_email@example.com")
- Once you're logged in, you can ask a question to the chatbot of your choice and retrieve the result:
result = bot.ask(bot="sage", prompt="hello")
print(result)
- When you're done with your session, be sure to close the connection:
bot.close()
Examples: link
Extra
- status of client
status = bot.stat
Status | Meanings |
---|---|
false | the bot isn't connected and cant answer |
ready | the bot is connected and ready to answer |
wait | the bot is generating an answer |
- Get Live Updating Result
from poept import PoePT
bot = PoePT()
bot.login("mohammedaminsultan01@gmail.com")
result = bot.ask(bot="sage", prompt="hello")
while(bot.stat == "wait"):
print(bot.response)
#run the while loop by threading
- Live voice Input
print("Listening...")
question = bot.livevoice(timeout=2)
print("Recording complete.")
result = bot.ask(bot="sage", prompt=question)
print("\nresponse:", result)
- File voice Input
question = bot.filevoice("audio.wav")
result = bot.ask(bot="sage", prompt=question)
print("\nresponse:", result)
- clear cookies
status = bot.status()
- configure classes and keys
bot.config(
website="https://poe.com/",
email_key=f"//button[contains(translate(., '{letters[0]}', '{letters[-1]}' ), 'email')]",
email_area="input[class*=EmailInput]",
code_area="input[class*=CodeInput",
go_key=f"//button[contains(translate(., '{letters[0]}', '{letters[-1]}' ), 'go')]",
log_key=f"//button[contains(translate(., '{letters[0]}', '{letters[-1]}' ), 'log')]",
talk_key=f"//button[contains(translate(., '{letters[0]}', '{letters[-1]}' ), 'talk')]",
send_key="button[class*=SendButton]",
text_area="textarea[class*=TextArea]",
clear_key="button[class*=ChatBreak]",
msg_element="ChatMessage_messageRow__7yIr2"
)
Here's the updated table:
KEY | Value |
---|---|
website | "https://poe.com/" |
clear_key | "button[class*=ChatBreak]" |
code_area | "input[class*=VerificationCodeInput]" |
talk_key | "//button[contains(translate(., 'a', 'A'), 'talk')]" |
email_area | "input[class*=EmailInput]" |
email_key | "//button[contains(translate(., 'a', 'A'), 'email')]" |
go_key | "//button[contains(translate(., 'a', 'A'), 'go')]" |
log_key | "//button[contains(translate(., 'a', 'A'), 'log')]" |
text_area | "textarea[class*=TextArea]" |
send_key | "button[class*=SendButton]" |
chat_element | "div[class*=ChatMessagesView_infiniteScroll]" |
msg_element | "div[class*=ChatMessage_messageRow]" |
Contributing
If you encounter a bug open an issue on the GitHub repository. Pull requests are also welcome!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
PoePT-0.2.4.tar.gz
(4.6 kB
view hashes)