Grouping messagesΒΆ

sitemessage allows you to group messages in such a way that even if your application generates many messages (between send attempts) your user receives them as one.

from sitemessage.messages.base import MessageBase


class MyMessage(MessageBase):

    ...

    # Define group ID at class level or as a @property
    group_mark = 'groupme'

    # In case your message has some complex context
    # you may want to override 'merge_context' to add a new message
    # context to the context already existing in message stored in DB
    @classmethod
    def merge_context(cls, context: dict, new_context: dict) -> dict:
        merged = ...  #
        return merged