6

我正在尝试构建 Skype 机器人。

我遵循了给出的文档,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);

谢谢

4

2 回答 2

3

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

serverUrl : "https://example.net"

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

serverUrl : "https://apis.skype.com"

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

server.post('/skbot', skype.messagingHandler(botService));

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

于 2016-06-07T13:03:46.177 回答
1

使用 Microsoft Bot Framework 的BotBuilder SDK构建你的机器人,而不是使用skype-sdk包。

您可以使用以下示例代码构建一个基本的 Skype 机器人:

https://github.com/Microsoft/BotBuilder/blob/master/Node/examples/demo-skype/app.js

有关 Skype 功能的更详细示例,请在此处查看我在 GitHub 上的 Skype 机器人示例:

https://github.com/nwhitmont/botframework-skype-support-dev/blob/master/server.js

于 2018-01-02T22:57:54.113 回答