Я не могу получить ответ от бота и добавить его в веб-чат, предоставленный MS Botframework.
Вот что я сделал до сих пор:
Создал бота на https://dev.botframework.com/ (без миграции)
Интегрированный веб-чат и прямая линия
Создал сервер прослушивателя flask и сгенерировал HTTPS с помощью ngrok
Предоставил адрес созданного сервера в качестве конечной точки обмена сообщениями для бота
- Создана HTML-страница с использованием приведенного ниже кода (работает локально без какого-либо сервера)
<html> <head> <link href="https://cdn.botframework.com/botframework-webchat/latest/botchat.css" rel="stylesheet" /> </head> <body> <div id="bot"/> <script src="https://cdn.botframework.com/botframework-webchat/latest/botchat.js"></script> <script> BotChat.App({ directLine: { secret: 'direct_line_secret_key' }, user: { id: 'userid' }, bot: { id: 'botid' }, resize: 'detect' }, document.getElementById("bot")); </script> </body> </html>
Теперь я могу отправлять сообщение из пользовательского интерфейса как пользователь и захватывать его на сервере прослушивателя фляги.
Но как мне ответить с сервера, чтобы сообщение пришло от бота и добавилось в пользовательский интерфейс ?
Я что-то упускаю?
Я пробовал https://directline.botframework.com/v3/directline/conversations/ {convoId} / actions для POST запроса, но он снова возвращается только на сервер и не добавляется в веб-чат.
data = json.dumps({"type": "message","from":{"id":"botid"},"text": "Hii!"})
requests.post('https://directline.botframework.com/v3/directline/conversations/' + r['conversation']['id'] + '/activities',
headers={"Authorization": "Bearer " + "secret_key", "Content-Type": "application/json", "Content-Length": "512"},data=data
ПРИМЕЧАНИЕ. Я использую бот-фреймворк только для интерфейса веб-чата и ничего больше.
ИЗМЕНИТЬ 1:
отправил это из интерфейса веб-чата
http://bcebb07a.ngrok.io/webhook '[POST]> ********************************* *************************************** {'type': 'message', ' id ':' 5DvIa5ImiPF4G6WnGlPYyY | 0000002 ',' timestamp ':' 2018-06-05T06: 51: 45.3174659Z ',' serviceUrl ':' https://directline.botframework.com/ ',' channelId ':' directline ',' from ': {' id ':' sid '},' беседа ': {' id ' : '5DvIa5ImiPF4G6WnGlPYyY'}, 'recipient': {'id': 'one_assist @ CrbpWod1mw8', 'name': 'OneAssist'}, 'textFormat': 'plain', 'locale': 'en-US', 'text': 'привет, как дела', 'channelData': {'clientActivityId': '1528180308547.7414264322396316.5'}} 5DvIa5ImiPF4G6WnGlPYyY
#################################################################### {'messages': [{'id':'5DvIa5ImiPF4G6WnGlPYyY | 0000000', 'talkId': '5DvIa5ImiPF4G6WnGlPYyY', 'created': '2018-06-05T06: 32: 50.9651813Z', 'from': 'sid', 'text': 'hello' : {'clientActivityId': '1528180308547.7414264322396316.0'}, 'images': [], 'attachments': []}, {'id': '5DvIa5ImiPF4G6WnGlPYyY | 0000001', 'partitionId': '5DvIaGymi' created : '2018-06-05T06: 47: 14.1602925Z', 'от': 'sid', 'text': 'как дела', 'channelData': {'clientActivityId': '1528180308547.7414264322396316.3'}, 'изображения ': [],' вложения ': []}, {' id ':' 5DvIa5ImiPF4G6WnGlPYyY | 0000002 ',' talkId ':' 5DvIa5ImiPF4G6WnGlPYyY ',' created ':' 2018-06-05T06: 51: 45.3174659 from ':' sid ',' text ':' hello how are you ',' channelData ': {' clientActivityId ':' 1528180308547.7414264322396316.5 '},' images ': [],' attachments ': []}], 'водяной знак': '2'}
{"error": {"code": "BotError", "message": "Failed to send activity: bot timed out"}, "httpStatusCode": 504} 127.0.0.1 - - [05 / июн / 2018 12:22 : 12] «POST / webhook HTTP / 1.1» 200 - ************************************ ************************************ http://bcebb07a.ngrok.io/webhook '[ POST]> ********************************************* ************************** {'type': 'talkUpdate', 'id': 'D3XJ6CAaVsc', 'timestamp': '2018 -06-05T06: 51: 56.7508828Z ',' serviceUrl ':' https://directline.botframework.com/ ',' channelId ':' directline ',' from ': {' id ':' 5DvIa5ImiPF4G6WnGlPYyY '},' talk ': {' id ':' 5DvIa5ImiPF4G6WnGlPYyY '},' recipient ': {' id ': 'one_assist @ CrbpWod1mw8', 'name': 'OneAssist'}, 'membersAdded': [{'id': 'botid'}]} 5DvIa5ImiPF4G6WnGlPYyY
#################################################################### {'messages': [{'id':'5DvIa5ImiPF4G6WnGlPYyY | 0000000', 'talkId': '5DvIa5ImiPF4G6WnGlPYyY', 'created': '2018-06-05T06: 32: 50.9651813Z', 'from': 'sid', 'text': 'hello' : {'clientActivityId': '1528180308547.7414264322396316.0'}, 'images': [], 'attachments': []}, {'id': '5DvIa5ImiPF4G6WnGlPYyY | 0000001', 'partitionId': '5DvIaGymi' created : '2018-06-05T06: 47: 14.1602925Z', 'от': 'sid', 'text': 'как дела', 'channelData': {'clientActivityId': '1528180308547.7414264322396316.3'}, 'изображения ': [],' вложения ': []}, {' id ':' 5DvIa5ImiPF4G6WnGlPYyY | 0000002 ',' talkId ':' 5DvIa5ImiPF4G6WnGlPYyY ',' created ':' 2018-06-05T06: 51: 45.3174659 from ':' sid ',' text ':' hello how are you ',' channelData ': {' clientActivityId ':' 1528180308547.7414264322396316.5 '},' images ': [],' attachments ': []}], 'водяной знак': '2'}
{"error": {"code": "BotError", "message": "Failed to send activity: bot timed out"}, "httpStatusCode": 504} 127.0.0.1 - - [05 / июн / 2018 12:22 : 32] "POST / webhook HTTP / 1.1" 200 -
# отправил это с сервера код *********************************** ************************************* http://bcebb07a.ngrok.io/webhook ' [POST]> ******************************************** *************************** {'type': 'message', 'id': '5DvIa5ImiPF4G6WnGlPYyY | 0000003', 'timestamp' : '2018-06-05T06: 52: 16.6925987Z', 'serviceUrl': 'https://directline.botframework.com/ ',' channelId ':' directline ',' from ': {' id ':' botid '},' talk ': {' id ':' 5DvIa5ImiPF4G6WnGlPYyY '},' recipient ': {' id ':' one_assist @ CrbpWod1mw8 ',' name ':' OneAssist '}, ' text ':' Привет! '} 5DvIa5ImiPF4G6WnGlPYyY
#################################################################### {'messages': [{'id':'5DvIa5ImiPF4G6WnGlPYyY | 0000000', 'partitionId': '5DvIa5ImiPF4G6WnGlPYyY', 'created': '2018-06-05T06: 32: 50.9651813Z', 'from': 'sid', 'text': 'hello' : {'clientActivityId': '1528180308547.7414264322396316.0'}, 'images': [], 'attachments': []}, {'id': '5DvIa5ImiPF4G6WnGlPYyY | 0000001', 'talkId': '5DvIaGymi' created : '2018-06-05T06: 47: 14.1602925Z', 'от': 'sid', 'text': 'как дела', 'channelData': {'clientActivityId': '1528180308547.7414264322396316.3'}, 'изображения ': [],' вложения ': []}, {' id ':' 5DvIa5ImiPF4G6WnGlPYyY | 0000002 ',' talkId ':' 5DvIa5ImiPF4G6WnGlPYyY ',' created ':' 2018-06-05T06: 51: 45.3174659 from ':' sid ',' text ':' hello how are you ',' channelData ': {' clientActivityId ':' 1528180308547.7414264322396316.5 '},' images ': [],' attachments ': []}, { 'id': '5DvIa5ImiPF4G6WnGlPYyY | 0000003', 'talkId': '5DvIa5ImiPF4G6WnGlPYyY', 'created': '2018-06-05T06: 52: 16.6925987Z', 'from': 'botid': ',' from ':' botid ',' II ',' images ': [],' attachments ': []}],' watermark ':' 3 '} https://directline.botframework.com/v3/directline/conversations/5DvIa5ImiPF4G6WnGlPYyY/activities/
data = json.dumps({"type": "message","from":{"id":"botid"},"text": "Hii!"})
. также обновлено в вопросе - person sid8491   schedule 05.06.2018