Notifications

Usage

With an AsyncNotificationManager, you can asyncronously dispatch sms messages or voice calls.

Within an asyncronous event loop, i.e. main(), open an asyncronous context manager with async with.

Within the context manager, await the send_sms() or send_voice() methods to dispatch your message.

import asyncio
from terminusgps.aws.notifications import AsyncNotificationManager

async def main() -> None:
    async with AsyncNotificationManager() as manager:
        # This is the message we will dispatch in this example
        message: str = "We know where ours are... do you?"

        # Send the message via sms to a single phone number
        await manager.send_sms("+15555555555", message)

        # Send the message via voice to a single phone number
        await manager.send_voice("+15555555555", message)

        # Send the message via sms to multiple phone numbers
        await manager.batch_send_sms(["+17135555555", "+15555555555"], message)

        # Send the message via sms to a single phone number with feedback
        await manager.send_sms("+15555555555", message, feedback=True)

        # Send the message via sms to a single phone number as a dry run
        await manager.send_sms("+15555555555", message, dry_run=True)
    return

if __name__ == "__main__":
    asyncio.run(main())