def phrase_event(callbacks, parameters):
    """
    Custom call for events with keywords in sentences (like say or whisper).

    Args:
        callbacks (list of dict): the list of callbacks to be called.
        parameters (str): the actual parameters entered to trigger the callback.

    Returns:
        A list containing the callback dictionaries to be called.

    Notes:
        This function should be imported and added as a custom_call
        parameter to add the event when the event supports keywords
        in phrases as parameters.  Keywords in parameters are one or more
        words separated by a comma.  For instance, a 'say yes, okay' callback
        can be set to trigger when the player says something containing
        either "yes" or "okay" (maybe 'say I don't like it, but okay').

    """
    phrase = parameters.strip().lower()
    # Remove punctuation marks
    punctuations = ',.";?!'
    for p in punctuations:
        phrase = phrase.replace(p, " ")
    words = phrase.split()
    words = [w.strip("' ") for w in words if w.strip("' ")]
    to_call = []
    for callback in callbacks:
        keys = callback["parameters"]
        if not keys or any(key.strip().lower() in words for key in keys.split(",")):
            to_call.append(callback)

    return to_call