Я пытаюсь выполнить простое умение Alexa, следуя этому учебнику (что довольно просто, я могу добавить).
Проблема в том, что у меня действительно есть проблема, которую яне похоже, чтобы понять.Во второй части урока парень показывает, как отлаживать, но состояние моей ошибки succeeded
, поэтому я не очень понимаю, что происходит.Алекса просто говорит: There has been an error with he skill you requested
и выходит.
Если обнаруженное намерение составляет test
(работает просто сказать «дай мне результаты теста»):
def get_test_response():
session_attributes = {}
card_title = "Test"
number=random.randint(0,100)
speech_output = "This is the test result",number, "%"
should_end_session = False
return build_response(session_attributes, build_speechlet_response(
card_title, speech_output, reprompt_text, should_end_session))
До печати случайного числа это работало нормально.Фактически, в другой функции я получаю случайное значение строки, и она работает просто отлично!
(Пример кода того, что отлично работает со random:)
compliments=['you have beautiful eyes', 'you are really kind', 'I like your hair color', 'you smell nice!']
speech_output = compliments[random.randint(0,len(compliments)-1)]
Я попытался выполнить код в консоли Python (чтобы проверить любые ошибки), и он работал нормально.Ошибка, которую alexa отображает в инструменте отладки, следующая:
(я на всякий случай скрываю идентификатор запроса):
Response:
null
Request ID:
"REQUESTID IM HIDING IT JUST IN CASE, NOT IMPORTANT"
Function Logs:
START RequestId: REQUESTID IM HIDING IT JUST IN CASE, NOT IMPORTANT Version: $LATEST
Incoming request...
on_session_ended requestId=amzn1.echo-api.request.hiding this one also, sessionId=amzn1.echo-api.session.and hiding this one
END RequestId: hiding this one
REPORT RequestId: hiding this one Duration: 34.62 ms Billed Duration: 100 ms Memory Size: 128 MB Max Memory Used: 48 MB
Я предполагаю, что что-то в "this is the test result", number, "%"
неправильно, потому что ранд работает нормально ... И я не могу найти решение.
Редактировать:
Другие решения, которые я пробовал:
number=random.randint(0,100)
st='this is the result of the test '
st+=str(number)
st+='%'
speech_output = st
Все еще не работает.Обратился в службу поддержки Alexa, чтобы узнать, что я делаю не так.
Я тоже пробовал с форматированием:
speech_output = "This is the test result {}%".format(number)