1

我正在尝试创建我想用于我的家庭自动化项目的第一个聊天机器人。

这听起来可能很愚蠢,也许这不是要走的路,但我想听听你的意见,也许是一种让它发挥作用的方法。

我希望能够询问我的机器人我的位置是什么,我希望它运行返回我当前位置的 python 代码,然后得到答案。

这是我的位置.py

from pyicloud import PyiCloudService
import googlemaps
import aiml


api_key = "##################3"

gmaps = googlemaps.Client(key= api_key)

api = PyiCloudService('###email####','###password###')

longitude = api.iphone.location()['longitude']
latitude = api.iphone.location()['latitude']


current_location  = gmaps.reverse_geocode((latitude, longitude))
street = current_location[0]['address_components'][1]['long_name']
house_number = current_location[0]['address_components'][0]['long_name']


def get_location():
    current_location = ('%s,%s' % (street, house_number))
    return current_location

现在我不知道如何将它放入我的目标文件中。

<?xml version="1.0" encoding="UTF-8"?>
 <aiml>
<category>
<pattern>WHAT IS MY LOCATION</pattern>
<template>??????</template>
</category>

</aiml>

我希望这是有道理的:)

谢谢您的帮助!

4

1 回答 1

0

如果您的位置是芝加哥,您可以kernel.setPredicate("location", "Chicago")在 Python 中使用,然后在 AIML 中输出值,如下所示:

<category>
<pattern>WHAT IS MY LOCATION</pattern>
<template>Your location: <get name="location"></get></template>
</category>

在此处查看示例

于 2016-07-22T22:57:06.597 回答