Facebook Messenger не отображает сообщения, возвращаемые лямбдами бота

Не помешает опубликовать другое мнение, так как до сих пор нет официального способа сделать это. Написал легкий плагин jQuery, с помощью которого вы можете определить радиальный градиент фона и скорость перехода. Это базовое использование затем позволит ему затухать, оптимизированное с помощью requestAnimationFrame (очень плавное):

$('#element').gradientFade({

    duration: 2000,
    from: '(20,20,20,1)',
    to: '(120,120,120,0)'
});

http://codepen.io/Shikkediel/pen/xbRaZz?editors=001

Сохраняет исходный фон и все свойства нетронутыми. Также имеет отслеживание подсветки в качестве настройки:

http://codepen.io/Shikkediel/pen/VYRZZY?editors=001

0
задан user3855877 17 January 2019 в 13:32
поделиться

1 ответ

[тысяча сто двадцать один] решаемый [тысяча сто двадцать один].

Мой код использовал sessionAttributes из intent_request, и проблема заключалась в том, что, когда нет атрибутов сеанса, соответствующий элемент JSON устанавливается как пустой, то есть "sessionAttributes" : {} (как вы можете видеть на рисунке 1), но в В случае сообщения от Facebook этот элемент установлен на None, то есть "sessionAttributes" : None (как вы можете видеть на рисунке 2).

Таким образом, я получил ошибки вроде:

[ERROR] TypeError: argument of type 'NoneType' is not iterable
Traceback (most recent call last):
  File "/var/task/lambda_function.py", line 104, in handle
    if 'userName' in session_attributes:

или

[ERROR] TypeError: 'NoneType' object does not support item assignment
Traceback (most recent call last):
  File "/var/task/lambda_function.py", line 54, in handle
    session_attributes['lastIntent'] = intent_request['currentIntent']['name']

Я обнаружил это, просмотрев журналы лямбда-функций (на веб-странице описания лямбда-функций нажмите вкладку Monitoring и View logs in CloudWatch).

Изображение 1:

image1

Изображение 2:

image2

0
ответ дан user3855877 17 January 2019 в 13:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: