skyweb
    TypeScript icon, indicating that this package has built-in type declarations

    0.4.3 • Public • Published

    Skyweb

    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.👌

    Running example

    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
    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.

    Usage

    Initializing and login

    Skyweb = require('skyweb');
    var skyweb = new Skyweb.default();
    skyweb.login(username, password).then(function (skypeAccount) {
        console.log('Skyweb is initialized now');
    });

    Keeping track of errors

    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

    Getting contacts info

    var skyweb = new Skyweb.default();
    skyweb.login(username, password).then((skypeAccount) => {    
        console.log('Your contacts : ' + JSON.stringify(skyweb.contactsService.contacts, null, 2));
    });

    Setting status

    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"

    Creating thread(Skype group)

    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).

    What's not working and probably never will.

    Disclaimer

    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.

    MIT License.

    Keywords

    Install

    npm i skyweb

    DownloadsWeekly Downloads

    4

    Version

    0.4.3

    License

    MIT

    Unpacked Size

    130 kB

    Total Files

    68

    Last publish

    Collaborators

    • shyyko.serhiy