我正在尝试构建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);
由于
答案 0 :(得分:3)
在提供的示例中,由于指定的服务器错误,机器人未连接到Skype服务器:
serverUrl : "https://example.net"
您必须指定有效的Skype服务器:
serverUrl : "https://apis.skype.com"
你还在server.post
中指定了错误的API uri(实际上,这取决于你的webhook设置,但是没有提供,所以我假设默认):
server.post('/skbot', skype.messagingHandler(botService));
您必须使用'/v1/chat'
进行消息传递。试试this tutorial。
答案 1 :(得分: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 bot示例:
https://github.com/nwhitmont/botframework-skype-support-dev/blob/master/server.js