Unofficial Skype API for nodejs via 'Skype (HTTP)' protocol.
If you want to create a bot, take a look at https://github.com/Microsoft/BotBuilder first.👌
As username and password you should use your Skype account or your Microsoft account.
git clone https://github.com/ShyykoSerhiy/skyweb.git
cd skyweb
npm install
tsc
cd dist/demo
node demo.js username password
After 'Skyweb is initialized now' appears in console any message you receive in your Skype will be automatically replied.
Skyweb = require('skyweb');
var skyweb = new Skyweb.default();
skyweb.login(username, password).then(function (skypeAccount) {
console.log('Skyweb is initialized now');
});
Because the whole lib is quite volatile it's may be a good idea to keep track of errors that might occur while requests being made. This is the place where you might try to relogin or to terminate the process.
Skyweb = require('skyweb');
var skyweb = new Skyweb.default();
const errorListener = (eventName: string, error: string) => {
console.log(`${errorCount} : Error occured : ${error}`);
errorCount++;
if (errorCount === 10) {
console.log(`Removing error listener`);
skyweb.un('error', errorListener); // Removing error listener
}
};
skyweb.on('error', errorListener); //Adding error listener
var skyweb = new Skyweb.default();
skyweb.login(username, password).then((skypeAccount) => {
console.log('Your contacts : ' + JSON.stringify(skyweb.contactsService.contacts, null, 2));
});
var skyweb = new Skyweb.default();
skyweb.login(username, password).then((skypeAccount) => {
skyweb.setStatus('Hidden'); //Now everybody thinks I'm sleeping
});
Currently supported values are : "Hidden" | "Online" | "Away" | "Busy"
var skyweb = new Skyweb.default();
skyweb.login(username, password).then((skypeAccount) => {
skyweb.createThread([{"id":"8:someuserid","role":"User"},{"id":"8:live:someliveuserid","role":"User"},{"id":"8:youruserid","role":"Admin"}]);
});
It's probably a good idea to include at least one user with Admin role in new thread(at least you should have Admin role).
- Old P2P group chats. According to Skype community site only new, Cloud based group chats are shown in SkypeWeb Beta(therefore works in this API). The old P2P group chats are not.
This project relies on SkypeWeb Skype implementation. If Microsoft Corporation decides to remove Skype implementation (or change it in any) skyweb might not be in working state. Therefore it's not recommended to use it in any critical part of production code. In fact it's not recommended to use it in production at all.