Skip to main content

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!

saikyo0

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)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page