def button(text, name=None, value=None, style='default'):
    """
    Create an Interactive attachment button.

    Notes
    -----
    API: https://api.slack.com/docs/message-buttons

    Parameters
    ----------
    text : str - the button text the User will see
    name : str - the button name/ID value, optional, defaults to text
    value : str - the value assigned to button, optional.  defaults to name | text
    style : str
        The button style, optional default to 'default'.  Other values are:
        * 'primary' - will show green
        * 'danger' - will show red.

    Returns
    -------
    dict
    """
    return dict(type='button', text=text,
                name=name or text,value=value or name or text,
                style=style)