notifications.py 文件源码

python
阅读 33 收藏 0 点赞 0 评论 0

项目:j2f 作者: jasper2fork 项目源码 文件源码
def handle(self, text, mic):
        """
        Responds to user-input, typically speech text, with a summary of
        the user's Facebook notifications, including a count and details
        related to each individual notification.

        Arguments:
        text -- user-input, typically transcribed speech
        mic -- used to interact with the user (for both input and output)
        """
        oauth_access_token = self.profile['keys']['FB_TOKEN']

        graph = facebook.GraphAPI(oauth_access_token)

        try:
            results = graph.request("me/notifications")
        except facebook.GraphAPIError:
            mic.say(self.gettext(
                "I have not been authorized to query your Facebook. If " +
                "you would like to check your notifications in the " +
                "future, please visit the Jasper dashboard."))
            return
        except:
            mic.say(self.gettext(
                "I apologize, I can't access Facebook at the moment."))

        if not len(results['data']):
            mic.say(self.gettext("You have no Facebook notifications."))
            return

        updates = []
        for notification in results['data']:
            updates.append(notification['title'])

        count = len(results['data'])
        if count == 0:
            mic.say(self.gettext("You have no Facebook notifications."))
        elif count == 1:
            mic.say(self.gettext("You have one Facebook notification."))
        else:
            mic.say(
                self.gettext("You have %d Facebook notifications.") % count)

        if count > 0:
            mic.say("%s." % " ".join(updates))

        return
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号