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.PoeHandler to make a bot:

from aiohttp_poe import PoeHandler, run

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


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

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(EchoHandler(), 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.6.tar.gz (4.9 kB view details)

Uploaded Source

Built Distribution

aiohttp_poe-0.0.6-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for aiohttp_poe-0.0.6.tar.gz
Algorithm Hash digest
SHA256 328138d3bced9901faa56064a8480c770b28c12dcd66f2b4439e541c7bf843ef
MD5 694df115b77a1734f855c3e95a094737
BLAKE2b-256 6b8104bfb42112ac7fc943490fd5f499c807b5acd4efe5fd82c2c9dbe7a5b499

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: aiohttp_poe-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for aiohttp_poe-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 121ec6bb37159f88b62fb6de5ce5801b2b2d8f919e4485abaa71bcf75ac40235
MD5 3753bd136f8a6063bfd5e8028391e492
BLAKE2b-256 a1e1e11e303744d51d94e987cd7799716e4f0e922283678115f3ff0a71a53788

See more details on using hashes here.

Provenance

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