Пример #1
0
 def send_seen_and_typing_on_indicators(self):
     seenResponse = ResponseBuilder(recipientId=self.message.senderId,
                                    senderAction="mark_seen",
                                    description="Marking message as seen",
                                    dryRun=self._dryRun)
     seenResponse.create_and_get_chained_response(
         senderAction="typing_on", description="Turning typing on")
     self._executor.submit(seenResponse.send())
Пример #2
0
    def map_response(self, respTail: ResponseBuilder) -> ResponseBuilder:
        respTail = respTail.create_and_get_chained_response(
            text=self.phrase.get('delivery'), description="Delivery text")
        mapIdGen = yield_map_id()
        mapId = next(mapIdGen)
        if not mapId:
            self.send_waiting_response(respTail)
            mapId = next(mapIdGen)
        if mapId:
            respTail = respTail.create_and_get_chained_response(
                attachment=Asset(assetType='image', attchId=mapId),
                description="Map asset from attachment ID")
        else:
            # TODO: Backup plan
            pass

        return respTail
Пример #3
0
    def travel_response(self, respTail: ResponseBuilder) -> ResponseBuilder:
        respTail = respTail.create_and_get_chained_response(
            text="[TODO: Fill in the travel response.]",
            description="Travel text")

        # TODO: Outsource this to new file

        # HACK: Just trying to get basic functionality

        from compose.utils.requests import get
        from compose.utils.keys import BART_PUBL

        params: dict = {
            'cmd':
            'depart' if self.entities.timeArr is None else 'arrive',
            'orig':
            self.entities.stn,
            'dest':
            self.entities.stnDest,
            'time':
            time.strftime(
                "%-I:%M %p", self.entities.time
                if self.entities.timeArr is None else self.entities.timeArr),
            'b':
            '1',
            'a':
            '4',
            'json':
            'y',
            'key':
            BART_PUBL
        }

        ok, resp = get(url="http://api.bart.gov/api/sched.aspx", params=params)

        trips: list = resp['root']['schedule']['request']['trip']
        strTrips: list = []
        for trip in trips:
            strTrips.append(
                f"{trip['@origin']} {trip['@origTimeMin']} to {trip['@destination']} {trip['@destTimeMin']}"
            )
        respTail = respTail.create_and_get_chained_response(
            text='\n'.join(strTrips), description='HACK trip info')

        return respTail
Пример #4
0
 def unknown_response(self, respTail: ResponseBuilder) -> ResponseBuilder:
     respTail = respTail.create_and_get_chained_response(
         text="[TODO: Fill in the unknown text response.]",
         description="Unknown text")
     return respTail
Пример #5
0
 def weather_response(self, respTail: ResponseBuilder) -> ResponseBuilder:
     respTail = respTail.create_and_get_chained_response(
         text="[TODO: Fill in the weather response.]",
         description="Weather text")
     return respTail
Пример #6
0
 def cost_response(self,
                   respTail: ResponseBuilder,
                   roundTrip: bool = False) -> ResponseBuilder:
     respTail = respTail.create_and_get_chained_response(
         text="[TODO: Fill in the cost response.]", description="Cost text")
     return respTail
Пример #7
0
 def help_response(self, respTail: ResponseBuilder) -> ResponseBuilder:
     respTail = respTail.create_and_get_chained_response(
         text=self.phrase.get('helpText'), description="Help text response")
     return respTail