Как отправить данные webSocket внутри намерения Alexa? - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь создать навык Alexa с несколькими намерениями и сервер nodeJs для бэкэнда.Я пытаюсь отправить через WebSocket ввод одного из намерений на сервер python для его обработки, а затем получить результат работы сервера python, но проблема в том, что я не смог использовать websocket внутри намерения.PS: я пытался отправить некоторые сообщения через websocket от nodeJs на сценарий Python без введения намерений Alexa, и он работал правильно

'' '' '' python

class EchoWebSocket(websocket.WebSocketHandler):
    def open(self):
        print ("Websocket Opened")

    def on_message(self, message):
        print('aaaa')
        print('msg',message)
        print('type msg:',type(message))
        a = str(message)
        print('msg to str',a)
        print('type msg to str:',type(a))

    def on_close(self):
        print ("Websocket closed")

application = tornado.web.Application([(r"/", EchoWebSocket),])

if __name__ == "__main__":
    application.listen(991)
    tornado.ioloop.IOLoop.instance().start()

'' ''''

'' '' 'app.js du Backend

const { App } = require('jovo-framework');
const { Alexa } = require('jovo-platform-alexa');
const { GoogleAssistant } = require('jovo-platform-googleassistant');
const { JovoDebugger } = require('jovo-plugin-debugger');
const { FileDb } = require('jovo-db-filedb');
const app = new App();
var res;

app.use(
    new Alexa(),
    new GoogleAssistant(),
    new JovoDebugger(),
    new FileDb()
);

var WebSocket =require('ws');

var socket = new WebSocket('ws://127.0.0.1:991/');

app.setHandler({

LAUNCH() {
            ......
},

StartIntent() {
    .....
},

ResponceIntent() {
    .......
},

alexaRepIntent() {
    res = this.$inputs.resp.value;
    console.log(res, 'is ur demande')
    this.tell(res);
    socket.on('open', function() {
        console.log('connection opened / printed from app.js');
        socket.send(res)
      }).on('close', function() {
        console.log('connection closed');
      }).on('error', function(e) {
        console.log('connection error', e);
      }).on('message', function incoming(data) {
        console.log(data)
        });
},

});

' '' '' ''

''' 'выход узла nodeJs

Local server listening on port 3000.
This is your webhook url: .....

To open Jovo Debugger in your browser, enter .

' '' '

' '' 'вывод Python

Websocket closed
Websocket Opened

' '' '

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...