Skip to main content

Requeue

In applications that receive messages, like chat bots, where you run callbacks on incoming messages, you might want to capture follow-up messages within a callback. A request queue allows you to do that.

Examples

from requeue import Requeue
queue = Requeue()

Where the messages come in and are processed;

async def run_callbacks(message):
    # If the message completes a request, since it is forwarded,
    # it should not continue to be handled by the callbacks.
    if await queue.complete(message):
        return

    # If no request was completed, the message can be processed as usual.
    for callback in client.callbacks:
        await callback(message)

Inside a callback, to request and await an incoming message, you use wait_for. To only accept a message that meets specific criteria, you can pass a function as a filter to the check parameter.

@client.callback
async def on_message(message):
    # An example of a knock knock joke back-and-forth,
    # using the request queue to pick out the responses

    if message == 'Knock knock!':
        await client.send("Who's there?")
        who, = await queue.wait_for()
        await client.send(f'{who} who?')
        punchline, = await queue.wait_for()
        await punchline.react('😂')

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

requeue-0.4.0.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

requeue-0.4.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file requeue-0.4.0.tar.gz.

File metadata

  • Download URL: requeue-0.4.0.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for requeue-0.4.0.tar.gz
Algorithm Hash digest
SHA256 132661c5deeedb8e8a1dafed3134de2b195b60fccf026270e6669e692d6f30c6
MD5 f80c4890bb22be43f4e73a1d1b35d59f
BLAKE2b-256 8c1ea63eaf6cb96f7cc7775c6328e4ea985393b2c8df8475f60db6991af6f439

See more details on using hashes here.

File details

Details for the file requeue-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: requeue-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for requeue-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 93ff23e8677709718870d6b3e1b4bbf63712bc6a23015d5d119c4fd59fbf1a43
MD5 c8eb2b694860f3e37ccc8c01e6af306d
BLAKE2b-256 6151015aae96e3bbbb560802f4700a574454074cce8c34332f48b23ec1f048ca

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 files

0.3.0

2 files

0.2.0.post1

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page