Я пытаюсь создать навык 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
' '' '