# Path: golem/core/responses/responses.py
# class MenuElement:
#     def __init__(self, type, title, payload=None, url=None,
#                  webview_height_ratio=None, messenger_extensions=None):
#         self.type = type
#         self.title = title
#         self.payload = payload
#         self.url = url
#         self.buttons = []
# 
#     def __str__(self):
#         text = 'element: ' + self.title
#         return text
# 
#     def add_button(self, button):
#         self.buttons.append(button)
#         return button


from golem.core.responses.responses import MenuElement
    def __init__(self, message):
        self.message = message

    def __str__(self):
        return 'greeting_setting'


class GetStartedSetting(ThreadSetting):
    def __init__(self, payload):
        self.payload = payload

    def __str__(self):
        return 'get_started_setting'


class MenuSetting(ThreadSetting):
    def __init__(self, elements=None):
        self.elements = [MenuElement(**element) for element in elements or []]

    def __str__(self):
        text = 'menu:'
        for element in self.elements:
            text += "\n " + str(element)
        return text

    def add_element(self, element):
        self.elements.append(element)
        return element

    def create_element(self, **kwargs):

# Path: golem/core/responses/responses.py
# class MenuElement:
#     def __init__(self, type, title, payload=None, url=None,
#                  webview_height_ratio=None, messenger_extensions=None):
#         self.type = type
#         self.title = title
#         self.payload = payload
#         self.url = url
#         self.buttons = []
# 
#     def __str__(self):
#         text = 'element: ' + self.title
#         return text
# 
#     def add_button(self, button):
#         self.buttons.append(button)
#         return button


# Path: golem/core/responses/settings.py
from golem.core.responses.responses import MenuElement

    def __init__(self, message):
        self.message = message

    def __str__(self):
        return 'greeting_setting'


class GetStartedSetting(ThreadSetting):
    def __init__(self, payload):
        self.payload = payload

    def __str__(self):
        return 'get_started_setting'


class MenuSetting(ThreadSetting):
    def __init__(self, elements=None):
        self.elements = [MenuElement(**element) for element in elements or []]

    def __str__(self):
        text = 'menu:'
        for element in self.elements:
            text += "\n " + str(element)
        return text

    def add_element(self, element):
        self.elements.append(element)
        return element

    def create_element(self, **kwargs):

        element = MenuElement(**kwargs)