Size: a a a

Яндекс.Диалоги (сообщество разработчиков)

2020 June 15

DD

David Dale in Яндекс.Диалоги (сообщество разработчиков)
Евгений Чумак
Стоп text = event['request']['original utterance'] а это разве не python
Ну конкретно эта фраза выглядит по-питонячьи, но вообще на js или любом другом языке можно делать то же самое.
А ты каким языком пользуешься? Для начала)
источник

A

Alexander in Яндекс.Диалоги (сообщество разработчиков)
David Dale
Привет!
Я ничего не знаю про MQTT, да и с serverless-функциями знаком довольно поверхностно.
Думаю, этот вопрос имеет смысл задать в чатике Облака @yandexcloud_chat или в специальном чатике функций @YandexCloudFunctions.
Спасибо большое!
источник

Сс

Страшный сетевой адм... in Яндекс.Диалоги (сообщество разработчиков)
Alexander
Привет!
Ты мог бы подсказать - serverless-функция на "Яндекс.облаке" (основа для навыка) может использовать внешний пакет типа PAHOmqtt - и цепляться к брокеру MQTT (при известном заранее выданном логине и пароле IoT Core)?

Или есть подводные камни (типа закрытых портов).
Тут рассказывали, что если в архив с функцией сунуть requirements.txt то оно установит всё
источник

Сс

Страшный сетевой адм... in Яндекс.Диалоги (сообщество разработчиков)
Ну или паковать в архив с функцией копию модуля
источник

A

Alexander in Яндекс.Диалоги (сообщество разработчиков)
Страшный сетевой админ
Ну или паковать в архив с функцией копию модуля
Ага.
Я прочитал на примере "айтишный гороскоп" )

Ну в принципе pip freeze > requirements.txt сделать несложно )

Больше смущает, что может не подцепить сертификат или порты какие-нибудь закрыты.
источник

ЕЧ

Евгений Чумак... in Яндекс.Диалоги (сообщество разработчиков)
def handler(event, context):
"""
Entry-point for Serverless Function.
:param event: request payload.
:param context: information about current execution context.
:return: response to be serialized as JSON.
"""
if event['request']['original_utterance'])='привет':
text='привет'
return {
'version': event['version'],
'session': event['session'],
'response': {
# Respond with the original request or welcome the user if this is the beginning of the dialog and the request has not yet been made.
'text': text,
# Don't finish the session after this response.
'end_session': 'false'
},
}
источник

ЕЧ

Евгений Чумак... in Яндекс.Диалоги (сообщество разработчиков)
Почему это может не работать?
источник

DD

David Dale in Яндекс.Диалоги (сообщество разработчиков)
Евгений Чумак
def handler(event, context):
"""
Entry-point for Serverless Function.
:param event: request payload.
:param context: information about current execution context.
:return: response to be serialized as JSON.
"""
if event['request']['original_utterance'])='привет':
text='привет'
return {
'version': event['version'],
'session': event['session'],
'response': {
# Respond with the original request or welcome the user if this is the beginning of the dialog and the request has not yet been made.
'text': text,
# Don't finish the session after this response.
'end_session': 'false'
},
}
1) потому что на равенство надо проверять двойным =, а не одинарным
2) потому что original_utterance иногда может отсутствовать - нужно заменить вторые квадратные скобки на метод get
3) потому что есть if, но нет указания, что делать в случае else
4) в первой строчке функции какая-то лишняя круглая скобка
источник

ЕЧ

Евгений Чумак... in Яндекс.Диалоги (сообщество разработчиков)
def handler(event, context):
"""
Entry-point for Serverless Function.
:param event: request payload.
:param context: information about current execution context.
:return: response to be serialized as JSON.
"""
if event['request']get'original_utterance'=='привет':
text='привет'
else
text='1'
return {
'version': event['version'],
'session': event['session'],
'response': {
# Respond with the original request or welcome the user if this is the beginning of the dialog and the request has not yet been made.
'text': text,
# Don't finish the session after this response.
'end_session': 'false'
},
}
Всё равно ошибка.
источник

DD

David Dale in Яндекс.Диалоги (сообщество разработчиков)
Евгений Чумак
def handler(event, context):
"""
Entry-point for Serverless Function.
:param event: request payload.
:param context: information about current execution context.
:return: response to be serialized as JSON.
"""
if event['request']get'original_utterance'=='привет':
text='привет'
else
text='1'
return {
'version': event['version'],
'session': event['session'],
'response': {
# Respond with the original request or welcome the user if this is the beginning of the dialog and the request has not yet been made.
'text': text,
# Don't finish the session after this response.
'end_session': 'false'
},
}
Всё равно ошибка.
У тебя питонячий синтаксис по-прежнему сильно поломан. В частности, в первой строке get - это функция, её аргумент нужно в круглые скобки заворачивать. А после else тоже нужно двоеточие.
Попробуй этот код вставить в какую-нибудь среду разработки типа pycharm, она тебе ошибки подчеркнёт и даже немножко объяснит.
Ну и если с питоном раньше не работал, стоит какой-нибудь быстрый курс пройти.
источник

ЕЧ

Евгений Чумак... in Яндекс.Диалоги (сообщество разработчиков)
Вообще, я писал это начало на js
источник

ЕЧ

Евгений Чумак... in Яндекс.Диалоги (сообщество разработчиков)
*сначала
источник

ЕЧ

Евгений Чумак... in Яндекс.Диалоги (сообщество разработчиков)
Но там ч ток не понял как брать ответ пользователя
источник

A

ART in Яндекс.Диалоги (сообщество разработчиков)
Ребят, подскажите, в чем может быть проблема. Говорю станции включить музыку на мини в другой комнате.  Включает. Затем говорю - выключить, после этого на минике происходит приглушение звука и снова громкость возвращается. После чего станция начинает крутится фиолетовым цветом и ни на что не реагирует. Станция и миник в разных комнатах.
Пару дней всё работало нормально, потом такая петрушка началась:(
источник

ДZ

Дмитрий ZioSHik... in Яндекс.Диалоги (сообщество разработчиков)
Это рекурсия какая-то
источник

ДZ

Дмитрий ZioSHik... in Яндекс.Диалоги (сообщество разработчиков)
Или мб после обновы
источник

ДZ

Дмитрий ZioSHik... in Яндекс.Диалоги (сообщество разработчиков)
По идее это лучше в чат Станции)
источник

A

ART in Яндекс.Диалоги (сообщество разработчиков)
Дмитрий ZioSHik
По идее это лучше в чат Станции)
Благодарю, Дмитрий!
источник

ЕЧ

Евгений Чумак... in Яндекс.Диалоги (сообщество разработчиков)
Некто не знает в чём здесь ошибка?
if (request['command']=='незнаю')
statys[t]+=1;
Это часть скрипты навыка для Алисы.  На js
источник

ДZ

Дмитрий ZioSHik... in Яндекс.Диалоги (сообщество разработчиков)
if (request['command'] == "незнаю") statys[t]+=1;
источник