api - 在 alexa timer api 关闭后,有什么方法可以让会话保持打开状态?
问题描述
我想知道是否有任何可能的方法或技巧,我们可以在计时器关闭后让会话保持打开状态以供用户输入,因为计时器 API文档没有涵盖它。
timer_request_1 = {
"duration": "PT15S",
"timerLabel": "Change name",
"creationBehavior": {
"displayExperience": {
"visibility": "VISIBLE"
}
},
"triggeringBehavior": {
"operation": {
"type": "ANNOUNCE",
"textToAnnounce": [
{
"locale": "en-US",
"text": "Would you like to proceed with the x task?"
}
]
},
"notificationConfig": {
"playAudible": False
}
}
}
REQUIRED_PERMISSIONS = ["alexa::alerts:timers:skill:readwrite"]
class TimerIntentHandler(AbstractRequestHandler):
def can_handle(self, handler_input):
return ask_utils.is_intent_name("TimerIntent")(handler_input)
def handle(self, handler_input):
permissions = handler_input.request_envelope.context.system.user.permissions
if not (permissions and permissions.consent_token):
return (
handler_input.response_builder
.speak("Please give permissions to set timers using the alexa app.")
.set_card(
AskForPermissionsConsentCard(permissions=REQUIRED_PERMISSIONS)
)
.response
)
timer_service = handler_input.service_client_factory.get_timer_management_service()
timer_response = timer_service.create_timer(timer_request)
if str(timer_response.status) == "Status.ON":
session_attr = handler_input.attributes_manager.session_attributes
if not session_attr:
session_attr['lastTimerId'] = timer_response.id
speech_text = 'Your 40 minutes timer has started!.'
return (
handler_input.response_builder
.speak(speech_text)
.response
.ask("Would you like to proceed x task?")
)
else:
speech_text = 'Timer did not start'
return (
handler_input.response_builder
.speak(speech_text)
.response
)
我尝试添加 areturn .ask()
但出现'Response' object has no attribute 'ask'
错误。
期待听到你的想法:)
解决方案
保持会话活动的一种方法是不发送“shouldEndSession”。这不会让会话关闭。但是如果你去认证,这将不会被批准。
推荐阅读
- python-3.x - Keras LSTM 谐波预测
- c# - 在 RowCommand 上填充 DDL
- elasticsearch - 查询同义词 ElasticSearch
- r - 根据其他列的条件提取数据帧行的子集
- c# - 单击链接时,如何在“Webbrowser”事件中获取链接属性(页面名称)?
- javascript - 用于扩展组件的数据时,扩展组件的数据未定义
- android - Android Studio 3.2 Canary 14 错误
- json - 以角度 5 迭代 JSON 对象响应
- c# - 将 char 数字转换为 int 时的值不正确
- mysql - SQL所有子查询对于最大值不同