sdimkov / hubot-skype-web Goto Github PK
View Code? Open in Web Editor NEWA Skype adapter for Hubot that connects via Skype web.
License: MIT License
A Skype adapter for Hubot that connects via Skype web.
License: MIT License
Since this morning, hubot has been unable to connect with the following screenshot taken:
C:\hubot>bin\hubot
[Mon Jan 18 2016 16:40:50 GMT+0000 (GMT Standard Time)] ERROR Timeout in waiting for login success!
[Mon Jan 18 2016 16:40:51 GMT+0000 (GMT Standard Time)] ERROR Screenshot saved at: C:\hubot\login-failure.png
[Mon Jan 18 2016 16:40:51 GMT+0000 (GMT Standard Time)] ERROR Error: SkypeWeb adapter failure in initial login!
at Object.error (C:\hubot\node_modules\hubot-skype-web\src\skypeweb.coffee:58:17)
at C:\hubot\node_modules\hubot-skype-web\src\skypeweb.coffee:120:22
at Proto.apply (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\dnode\node_modules\dnode-protocol\index.js:123:13)
at Proto.handle (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\dnode\node_modules\dnode-protocol\index.js:99:19)
at D.dnode.handle (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\dnode\lib\dnode.js:140:21)
at D.dnode.write (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\dnode\lib\dnode.js:128:22)
at SockJSConnection.ondata (stream.js:31:26)
at emitOne (events.js:77:13)
at SockJSConnection.emit (events.js:169:7)
at Session.didMessage (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\lib\transport.js:220:25)
at WebSocketReceiver.didMessage (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\lib\trans-websocket.js:102:40)
at C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\lib\trans-websocket.js:75:22
at [object Object].<anonymous> (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\node_modules\faye-websocket\lib\faye\websocket\api\event_target.js:41:7)
at Array.forEach (native)
at [object Object].EventTarget.dispatchEvent (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\node_modules\faye-websocket\lib\faye\websocket\api\event_target.js:40:33)
at [object Object].API.receive (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\node_modules\faye-websocket\lib\faye\websocket\api.js:30:10)
at [object Object].instance._emitFrame (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\node_modules\faye-websocket\lib\faye\websocket\hybi_parser.js:285:44)
at [object Object].instance.parse (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\node_modules\faye-websocket\lib\faye\websocket\hybi_parser.js:143:18)
at Socket.<anonymous> (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\node_modules\faye-websocket\lib\faye\websocket.js:72:33)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Socket.Readable.push (_stream_readable.js:110:10)
at TCP.onread (net.js:523:20)
My internet connection is extremely slow, so I set HUBOT_LOG_LEVEL
to debug to see what the problem was. After modifying the default timeout length to 3 minutes instead of 50 seconds, I noticed this error in the console.
phantom stdout: TypeError: 'undefined' is not a function (evaluating 't.encode.bind(t)')
phantom stdout: https://swx.cdn.skype.com/v/1.24.74/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.24.74/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.24.74/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.24.74/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.24.74/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.24.74/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.24.74/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.24.74/js/fullExperience.min.js:324
(same lines as above repeated a couple more times)
It eventually times out, logs ERROR Error: SkypeWeb adapter failure in initial login!
and produces the following image:
I've been able to reproduce this every time. I'm using OS X El Capitan, with Node installed from Homebrew, NPM installed separately (not by homebrew) and phantomjs installed by NPM.
It's possible to handle live logins? When the username is set the page is redirected to the live login and the current login fails by timeout.
On startup of Hubot,
C:\hubot>bin\hubot
[Fri Feb 26 2016 09:53:31 GMT+0000 (GMT Standard Time)] ERROR Timeout in waiting for login success!
[Fri Feb 26 2016 09:53:31 GMT+0000 (GMT Standard Time)] ERROR Screenshot saved at: C:\hubot\login-failure.png
[Fri Feb 26 2016 09:53:32 GMT+0000 (GMT Standard Time)] ERROR Error: SkypeWeb adapter failure in initial login!
at Object.error (C:\hubot\node_modules\hubot-skype-web\src\skypeweb.coffee:66:17)
at C:\hubot\node_modules\hubot-skype-web\src\skypeweb.coffee:128:22
at Proto.apply (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\dnode\node_modules\dnode-protocol\index.js:123:13)
at Proto.handle (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\dnode\node_modules\dnode-protocol\index.js:99:19)
at D.dnode.handle (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\dnode\lib\dnode.js:140:21)
at D.dnode.write (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\dnode\lib\dnode.js:128:22)
at SockJSConnection.ondata (stream.js:31:26)
at emitOne (events.js:77:13)
at SockJSConnection.emit (events.js:169:7)
at Session.didMessage (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\lib\transport.js:220:25)
at WebSocketReceiver.didMessage (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\lib\trans-websocket.js:102:40)
at C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\lib\trans-websocket.js:75:22
at [object Object].<anonymous> (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\node_modules\faye-websocket\lib\faye\websocket\api\event_target.js:41:7)
at Array.forEach (native)
at [object Object].EventTarget.dispatchEvent (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\node_modules\faye-websocket\lib\faye\websocket\api\event_target.js:40:33)
at [object Object].API.receive (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\node_modules\faye-websocket\lib\faye\websocket\api.js:30:10)
at [object Object].instance._emitFrame (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\node_modules\faye-websocket\lib\faye\websocket\hybi_parser.js:285:44)
at [object Object].instance.parse (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\node_modules\faye-websocket\lib\faye\websocket\hybi_parser.js:143:18)
at Socket.<anonymous> (C:\hubot\node_modules\hubot-skype-web\node_modules\phantom\node_modules\shoe\node_modules\sockjs\node_modules\faye-websocket\lib\faye\websocket.js:72:33)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Socket.Readable.push (_stream_readable.js:110:10)
at TCP.onread (net.js:523:20)
Could you add status support?
PUT
/v1/users/ME/presenceDocs/messagingService
{'status': 'Online'}
No luck to do it myself
We've been running into ERROR Poll response error 729: You must create an endpoint before performing this operation.
way too often and hubot's responses are lost. Any clue what could be wrong?
The list of hubot adapters in the hubot documentation is being replaced with a link to a GitHub topic search. Add the hubot-adapter
topic to your repository on GitHub to include it in this list.
I am trying to run hubot-skype-web on ubuntu trusty. When launching hubot with (HUBOT_SKYPE_USERNAME and HUBOT_SKYPE_PASSWORD are set):
hubot --adapter skype-web
I get this output:
phantom stdout: NETWORK_ERR: XMLHttpRequest Exception 101: A network error occurred in synchronous requests.
file:///home/vagrant/hubot/node_modules/phantom/shim.js:7608 in send
file:///home/vagrant/hubot/node_modules/phantom/shim.js:7608 in _start
file:///home/vagrant/hubot/node_modules/phantom/shim.js:7635
Have you ever encountered such error or know what could be causing it?
EDIT: I have compiled phantomjs 2.0
Skype-web is not logging on, with the error message "You must create an endpoint before performing this operation" repeated in the hubot log.
I saw a phantomjs-prebuilt (v2) package is available on npm
https://www.npmjs.com/package/phantomjs-prebuilt
So I modify hubot-skype-web/src/skypewebb.coffee
and use phantom = require('phantomjs-prebuilt');
instead.
The following error occurred:
TypeError: phantom.create is not a function
at SkypeWebAdapter.login (/bot/node_modules/hubot-skype-web/src/skypeweb.coffee:118:13)
Hi, I installed 1.9.x phantomjs via command
npm install phantomjs --save
But still failed to login with hubot-skype-web.
Does hubot-skype-web require phantomjs 2 or something else?
It seems the Skype web portal has changed such that it no longer shows two fields by default. If you visit "https://web.skype.com" in incognito mode you see the same page that is rendered in login-failure.png
:
Along with the following error:
phantom stdout: TypeError: null is not an object (evaluating 'document.querySelector(selector).value = value')
phantom stdout: undefined:5
:8
[Tue Oct 18 2016 07:36:49 GMT-0600 (MDT)] ERROR Timeout in waiting for login success!
[Tue Oct 18 2016 07:36:50 GMT-0600 (MDT)] ERROR Screenshot saved at: /Users/kgorham/workspace/android/hubot/login-failure.png
[Tue Oct 18 2016 07:36:50 GMT-0600 (MDT)] ERROR Error: SkypeWeb adapter failure in initial login!
However, if you log in manually and then logout, you are presented with a page that has both fields. It seems that this adapter would need to be updated to handle the scenario where the password field is on a separate screen.
We run our builds in hubot daily and this is the first we've seen this happen. So I'm guessing it is new behavior on the Skype side.
Hello,
I have been trying to set this up for a while however my efforts have been nothing of an avail. Here is the issue.
phantomjs-node: You don't have 'phantomjs' installed
ERROR TypeError: cannot read property 'createPage' of null at skypeweb.coffee:119:7
I have phantomjs setup in my env variables and I am able to launch phantomjs via command line.
Any help would be appreciated.
Thank you,
Will
I have set this up in OSX, running 2.0 version of phantomjs. When I try to start hubot, i get the following in the console:
[Thu Nov 12 2015 11:55:06 GMT-0500 (EST)] DEBUG Loading adapter skype-web
phantom stdout: TypeError: '[object BlobConstructor]' is not a constructor (evaluating 'new Blob')
phantom stdout: https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324 in g
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
https://swx.cdn.skype.com/v/1.17.77/js/fullExperience.min.js:324
[Thu Nov 12 2015 11:55:57 GMT-0500 (EST)] ERROR SkypeWeb adapter failed to login!
[Thu Nov 12 2015 11:55:57 GMT-0500 (EST)] ERROR Error: SkypeWeb adapter failure in initial login!
at Object.error (/Users/ashneyder/dev/hubot/node_modules/hubot-skype-web/src/skypeweb.coffee:56:17, :75:15)
at [object Object]._onTimeout (/Users/ashneyder/dev/hubot/node_modules/hubot-skype-web/src/skypeweb.coffee:115:18, :142:84)
at Timer.listOnTimeout (timers.js:92:15)
Currently, if you make the mistake I did, have the wrong username it (expectedly) fails. After a few times Skype drops a Captcha on you. Anyway to handle this programmatically?
Hi.
Adapter can't capture RegistrationToken header:
ERROR Timeout in waiting for login success!
ERROR Screenshot saved at: /opt/hubot/login-failure.png
ERROR Error: SkypeWeb adapter failure in initial login!
I tested different configurations: CentOS docker image with Node.js 0.10.36/0.10.41/4.2.3, Fedora 23 docker image, Fedora 23 desktop, different PhantomJS builds (from source, your build, etc). Adapter successfully connects only on one Fedora 23 desktop (Node.js 0.10.36, PhantomJS from source), but can't connect on similar Fedora 23 desktop or docker image.
This is login-failure.png screenshot from CentOS docker image:
Account status is offline. It seems what account not automatically connected after sign in.
What I can try to do to make this adapter work?
Trying to install hubot for use as a skype bot.
I have a windows install of hubot, which starts up with the hubot command in CMD as follows:
C:\hubot\node_modules\.bin>hubot
[Sun Nov 15 2015 19:21:20 GMT+0000 (GMT Standard Time)] INFO SkypeWeb adapter logged in successfully!
[Sun Nov 15 2015 19:21:20 GMT+0000 (GMT Standard Time)] INFO SkypeWeb adapter configured to reconnect every 240 minutes
After this, there is no output in the window, and the bot does not appear on-line on Skype, or respond to any commands. Any tips on debugging, or what might be going on here would be appreciated
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.