Skip to main content

A demonstration of the Poe protocol using aiohttp

Project description

aiohttp_poe

An implementation of the Poe protocol using aiohttp.

To run it:

  • Create a virtual environment (Python 3.7 or higher)
  • pip install .
  • python -m aiohttp_poe
  • In a different terminal, run ngrok to make it publicly accessible

Write your own bot

This package can also be used as a base to write your own bot. You can inherit from aiohttp_poe.PoeBot to make a bot:

from aiohttp_poe import PoeBot, run

class EchoBot(PoeBot):
    async def get_response(self, query, request):
        last_message = query["query"][-1]["content"]
        yield self.text_event(last_message)


if __name__ == "__main__":
    run(EchoBot())

Enable authentication

Poe servers send requests containing Authorization HTTP header in the format "Bearer <api_key>," where api_key is the API key configured in the bot settings. \

To validate the requests are from Poe Servers, you can either set the environment variable POE_API_KEY or pass the parameter api_key in the run function like:

if __name__ == "__main__":
    run(EchoBot(), api_key=<key>)

For a more advanced example that exercises more of the Poe protocol, see Catbot.

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

aiohttp_poe-0.0.14.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

aiohttp_poe-0.0.14-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file aiohttp_poe-0.0.14.tar.gz.

File metadata

  • Download URL: aiohttp_poe-0.0.14.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for aiohttp_poe-0.0.14.tar.gz
Algorithm Hash digest
SHA256 685f06dcbfeef3f80000517bbce4ab58314c642f4f1bef8055f1415ef85f0043
MD5 f9065a63d761119f94f0d9f327824340
BLAKE2b-256 e70d4e5b6d33d9a877767bd57818066733cdf38720e54cf4e0cb39cfcdcd907e

See more details on using hashes here.

File details

Details for the file aiohttp_poe-0.0.14-py3-none-any.whl.

File metadata

File hashes

Hashes for aiohttp_poe-0.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 89c7600d0b233587e2007d121c65421da4d34401048647ba043535a360843aac
MD5 1959509c390faf40746e680d3ebeb419
BLAKE2b-256 7db18f8498ec6147ac8f36c8eeb7cabaf7dfdc1df18284baca64dd54a04a254f

See more details on using hashes here.

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