Skip to content
This repository has been archived by the owner on Nov 21, 2024. It is now read-only.
/ POE-Api Public archive

Reverse engineered API for Quora's Poe - access Claude (Anthropic) and ChatGPT (OpenAI)

Notifications You must be signed in to change notification settings

x404xx/POE-Api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Typing SVG

Quora Poe

This is a reverse-engineered API for Quora's Poe that allows access to the following chatbots.

Available Bots

  1. Sage - OpenAI (capybara)
  2. GPT-4 - OpenAI (beaver)
  3. Claude+ - Anthropic (a2_2)
  4. Claude - Anthropic (a2)
  5. ChatGPT - OpenAI (chinchilla)
  6. Dragonfly - OpenAI (nutria)

Requirements

pip install -r requirements.txt

Authentication

Sign in at https://www.quora.com/

  • F12 for console
  • Copy the values
    • Session: Go to Storage → Cookies → m-b. Copy the value of that cookie. Put in the (config.json)

Usage

You can find an example of how to use this API in the (example.py) file or you can do like the following code

from json import load

from api import PoeApi


with open('config.json') as file:
    config = load(file)

client = PoeApi(cookie=config['m-b'])
bots = {
    1: 'capybara',
    2: 'beaver',
    3: 'a2_2',
    4: 'a2',
    5: 'chinchilla',
    6: 'nutria'
}
choice = input('Who do you want to talk to?\n'
            '1. Sage - OpenAI (capybara)\n'
            '2. GPT-4 - OpenAI (beaver)\n'
            '3. Claude+ - Anthropic (a2_2)\n'
            '4. Claude - Anthropic (a2)\n'
            '5. ChatGPT - OpenAI (chinchilla)\n'
            '6. Dragonfly - OpenAI (nutria)\n\n'
            'Your choice: ')

bot = bots[int(choice)]
print(f'The selected bot is: {bot}')
chat_id = client.get_chatid(bot)
client.clear_context(chat_id)
print("Context is now cleared")

while True:
    message = input('\033[38;5;121mYou\033[0m : ').lower()
    if message == '!clear':
        client.clear_context(chat_id)
        print("Context is now cleared")
    elif message == '!exit':
        break
    else:
        client.send_message(message, bot, chat_id)
        result = client.get_latest_message(bot)
        print(f'\033[38;5;20m{bot}\033[0m : {result.strip()}')

Credits

POE.com Reverse Engineered CLI - Credits to Vaibhavk97

  • I made modifications to the original API. The formkey is no longer necessary; only the cookie is required.

Legal Disclaimer

Note This was made for educational purposes only, nobody which directly involved in this project is responsible for any damages caused. You are responsible for your actions.

About

Reverse engineered API for Quora's Poe - access Claude (Anthropic) and ChatGPT (OpenAI)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages