在Node.js中使用skype-sdk构建的Skype bot运行不正常?

vik*_*ant 6 bots node.js skypedeveloper skype-bots

我正在尝试构建skype bot.

我按照给出的文档skype-sdk但未能使用它创建它.无法从机器人获得回复.

const fs = require('fs');
const restify = require('restify');
const skype = require('skype-sdk');

const botService = new skype.BotService({
    messaging: {
        botId: 'xxxxxxxx-xxx-xxx-xxx-xxxxxxxxxxxx',
        serverUrl : "https://example.net",
        requestTimeout : 15000,
        appId: 'xxxxxxxx-xxx-xxx-xxx-xxxxxxxxxxxx',
        appSecret: 'xxxxxxxxxxxxxxxxxxxxxxxx'
    }
});

botService.on('contactAdded', (bot, data) => {
    console.log("bot replay");
    bot.reply('Hello ${data.fromDisplayName}!', true);
});

botService.on('personalMessage', (bot, data) => {
    console.log("person replay");
    bot.reply('Hey ${data.from}. Thank you for your message: "${data.content}".', true);
});

const server = restify.createServer();

server.use(skype.ensureHttps(true));
server.use(skype.verifySkypeCert({}));

server.post('/skbot', skype.messagingHandler(botService));
const port = process.env.PORT || 8080;
server.listen(port);
console.log('Listening for incoming requests on port ' + port);
Run Code Online (Sandbox Code Playgroud)

谢谢

enk*_*tor 3

在提供的示例中,由于指定了错误的服务器,机器人未连接到 Skype 服务器:

serverUrl : "https://example.net"
Run Code Online (Sandbox Code Playgroud)

您必须指定有效的 Skype 服务器:

serverUrl : "https://apis.skype.com"
Run Code Online (Sandbox Code Playgroud)

您还指定了错误的 API uri server.post(实际上这取决于您的 webhook 设置,但没有提供它们,所以我假设默认值):

server.post('/skbot', skype.messagingHandler(botService));
Run Code Online (Sandbox Code Playgroud)

您必须用于'/v1/chat'消息传递。尝试一下这个教程