def test_message(self):
        with self.assertRaises(Exception):
            m = Payload.Message(text="hello", attachment=Attachment.Image('img'))

        m = Payload.Message(text="hello", metadata="METADATA", quick_replies=[{'title': 'Yes', 'payload': 'PICK_YES'}])
        self.assertEquals('{"attachment": null, "metadata": "METADATA", '
                          '"quick_replies": [{"content_type": "text", "payload": "PICK_YES", "title": "Yes"}], '
                          '"text": "hello"}', utils.to_json(m))
Пример #2
0
 def on_enter(cls, page, user, prev):
     pictures = os.listdir("static/motivators/" + user.language)
     picture = random.choice(pictures)
     page.send(
         user.facebook_id,
         Attachment.Image(
             os.environ["SERVER_URL"] + "/static/motivators/" + user.language + "/" + picture
         ),
     )
     with cls.storage(user) as s:
         s["helped"][-1]["motivator_content"] = picture
     time.sleep(2)
     return Transition.MOVE("cessation.Distract")
 def on_enter(cls, page, user, prev):
     t = i18n.translator(user)
     page.send(
         user.facebook_id,
         t("Avant d'aller plus loin, voilà une brève explication sur l'utilisation des boutons pour répondre. Il se peut que tous les boutons ne soient pas affichés en même temps sur ton écran. Pour cela tu peux les faire défiler comme illustré sur l'image ci-dessous."
           ),
     )
     page.send(
         user.facebook_id,
         Attachment.Image(os.environ["SERVER_URL"] + "/static/buttons.gif"),
     )
     page.send(
         user.facebook_id,
         t("Pour montrer que tu as bien compris, appuie maintenant sur le bouton «Ok» qui se situe à la fin de la liste des boutons."
           ),
         quick_replies=cls.buttons,
     )
     return Transition.STAY
Пример #4
0
 def test_image(self):
     image = Attachment.Image('https://test.com/resource')
     self.assertEquals(
         '{"payload": {"url": "https://test.com/resource"}, "type": "image"}',
         utils.to_json(image))