diff --git a/fbmessenger/__init__.py b/fbmessenger/__init__.py index eb8adec..216ce24 100644 --- a/fbmessenger/__init__.py +++ b/fbmessenger/__init__.py @@ -13,7 +13,6 @@ DEFAULT_API_VERSION = 2.12 - class MessengerClient(object): # https://developers.facebook.com/docs/messenger-platform/send-messages#messaging_types @@ -79,6 +78,7 @@ def get_user_data(self, recipient_id, fields=None, timeout=None): def send(self, payload, recipient_id, messaging_type='RESPONSE', notification_type='REGULAR', timeout=None, tag=None): + if messaging_type not in self.MESSAGING_TYPES: raise ValueError('`{}` is not a valid `messaging_type`'.format(messaging_type)) diff --git a/fbmessenger/elements.py b/fbmessenger/elements.py index e9202bc..d9952b0 100644 --- a/fbmessenger/elements.py +++ b/fbmessenger/elements.py @@ -64,7 +64,7 @@ class Button(object): ] def __init__(self, button_type, title=None, url=None, - payload=None, webview_height_ratio=None, + payload=None, webview_height_ratio=None, webview_share_button=None, messenger_extensions=None, fallback_url=None, share_contents=None): @@ -75,12 +75,15 @@ def __init__(self, button_type, title=None, url=None, if title and len(title) > 20: logger.warning(CHARACTER_LIMIT_MESSAGE.format(field='Title', maxsize=20)) + if button_type != 'web_url' and webview_share_button is not None: + raise ValueError('`webview_share_button` is only valid for button type `web_url`') self.button_type = button_type self.title = title self.url = url self.payload = payload self.webview_height_ratio = webview_height_ratio + self.webview_share_button = webview_share_button self.messenger_extensions = messenger_extensions self.fallback_url = fallback_url self.share_contents = share_contents @@ -101,6 +104,8 @@ def to_dict(self): d['webview_height_ratio'] = self.webview_height_ratio if self.messenger_extensions: d['messenger_extensions'] = 'true' + if self.webview_share_button is False: + d['webview_share_button'] = 'hide' if self.fallback_url: d['fallback_url'] = self.fallback_url if self.button_type == 'element_share': diff --git a/requirements.txt b/requirements.txt index bc0a318..dc4b230 100644 --- a/requirements.txt +++ b/requirements.txt @@ -30,3 +30,6 @@ tqdm==4.23.4 twine==1.11.0 urllib3==1.23 wrapt==1.10.11 +profanity-filter==1.3.3 +spacy==2.3.2 +https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.3.1/en_core_web_sm-2.3.1.tar.gz#egg=en_core_web_sm \ No newline at end of file