How to get skype status programmatically? - skype

I want to create a small console application to return current Skype status of the local Skype application if it's running (online / away / do not disturb / invisible / offline) and write history of its changes to the text file.
How can I do this? Where to start?

tl;dr;
The status checking URL is gone, your best bet is the API.
Details
There is an API aimed at web developers integrating call functions on their sites. It seems highly restricted, completely missing status-checking and a lot of other functions from the old API:
http://msdn.microsoft.com/en-us/library/office/dn745882.aspx
Microsoft removed support for the old developer API at the end of 2013. A status-checking URL (http://mystatus.skype.com/[username].txt) was in place until early 2019. It is no longer available.
It required the Skype user to actively enable status checking from the web (it seems to be disabled by default). It could be enabled in Preferences -> Privacy by ticking Show my status on the web as of Skype version 6.19. If it was not enabled, the user would be shown as Offline.

You can use Skype4Py for this:
https://github.com/awahlig/skype4py
It has GET/SET USERSTATUS command
http://dev.skype.com/desktop-api-reference#COMMANDS

Related

Make Subscriptions available in Google PlayStore

I am using InAppBilling plugin in a Xamarin.Forms solution.
IAP works in iOS and the app is approved and ready to release.
HOWEVER, I'm having issues getting this to work with the Google PlayStore.
The PlayStore returns the message: [productSKU] does not exist.
But that subscription item is clearly in the PlayStore AND activated with the exact SKU I'm using.
Does anyone know why a subscription item cannot be found or reached?
And yes, I've double checked and triple checked that the right SKU was being passed in in this:
var purchase = await billing.PurchaseAsync(**productId**, ItemType.Subscription, verify);
Is there any other obscure setting in the PlayStore that would cause this item to not be found?
After digging through docs and getting this working, here are some tips for those who could do with some help.
Upload your signed .apk or app bundle to the PlayStore in Closed Testing.
Submit for review. May take a few days (3 days for mine).
Promote the approved app to the Alpha track and you probably have [yourapp] Track1 too.
Setup you IAPs and activate.
Set you app as "Published" in Advanced Settings. This will trigger a review but it should be quick if the app has already been reviewed.
You CANNOT test AIPs from debug mode. You need to build in release and sign, then deploy to testing device THEN try purchase your item(s).
If I figure out how to step through in debug mode, I'll see if I can add to this later.

Basic auth on Drupal 8 sometimes fails (uses Anonymous instead)

I have a drupal 8 (8.7.6) installation. It runs on both a Ubuntu VM on Windows and also on iPage. I've written a simple custom module that implements a Content Entity.
I connect using JSON:API and basic_auth and it works for a while, then eventually stops working. Client doesn't seem to matter (both cURL and a custom app).
If I uninstall and re-install the custom module, then it seems to fail more often. After that, if I remove/re-add an admin account then I can connect with that account for a while.
Looking at the drupal logs, I see the failing calls come in as: "Anonymous (not verified)" rather than the supplied credentials.
Any ideas on how to debug this or pointers? Thanks.
I just had the same issue and it turned out to be because of the core flood protection. This can be fixed by truncating the flood table or by changing the user_limit value in the user.flood config to a higher number.

Launch Client Console App from Web Page

I've been asked to launch a Console App from a WebPage. Sounds hairy, but there is sound logic for it.
Basically, the page is a Dashboard page which only super admins can access. We have a Console app which needs to run on the client machine. It cannot run headlessly on the server.
I figured I'd have some kind of small file which is downloaded upon the button click. Then that file could be run from the resulting dialog which would launch the exe.
I know apple does something like that with podcasts. You can subscribe by downloading a small link that would behave as I described and open iTunes.
I had a quick go using ClickOnce, publishing the application to IISExpress where I had my site up and running, but had no success with that.
Is ClickOnce the way to go, or is there some other easier approach?
I've also tried just adding a shortcut with a link to that shortcut nd adding .lnk as a mime type in IIS with mimeType="application/octet-stream". I had no luck there and received a 404 error which I have not been able to resolve yet.
Edit
I should also mention that the Console application is not just a single exe assembly. It has dependencies on a bunch of other 3rd party dlls.
I am assuming here that this desktop application needs to be executed at client side. Thus it will be installed by you or someone in your department i.e available to download.
If it is the case then what you need is to register URI - just like skype URI where href="skype:28347839" lanuches skype automatically.
For reference please click here: http://msdn.microsoft.com/en-us/library/ie/aa767914(v=vs.85).aspx
otherwise, get clickonce - -choice is yours.
As you say, just put the console application (an .exe file) on the server, and link to it in a webpage. When the user clicks on the link the exe file will be downloaded. The user can then run the exe file on their own computer.
There will be some warning dialogs about security issues, but if your users trust your exe then they can accept those warnings.
If you get the console application signed, and/or maybe use Group Policy on your LAN you might be able to reduce or eliminate those warnings.

How does Adobe CONNECTNOW load and run acaddin?

I am looking for options to download, Install and run a custom plugin/add-on(an exe or an installer) from my Flash Movie similar to how the connectnow does that?
When we initiate the screen sharing for the first time, connectnow prompts us for mandatory add-in by showing the message "To use this application, you need the Adobe ConnectNow Add-in.Would you like to install it now?". Once we agree, it downloads and installs acaddin.exe at the location %USERPROFILE%\Application Data\Macromedia\Flash Player\www.macromedia.com\bin\acaddin on our local machine. Then automatically launches the acaddin.exe and allows the user to close the browser window from where the acaddin.exe was launched.
From the next time onwards, when we login to connectnow, it launches the exe directly.
In this context:
If I were to load my own exe/add-in from flash, How can I acheive that?
How does connectnow application/flash determine whether an add-in was already installed or not?
Connect, and I assume ConnectNow, use hidden, undocumented, private APIs for much of their functionality.
You will not be able to do this.
The best you can hope for is to pass the location of your executable to the browser as a local URL and let the browser handle it. I assume in most cases the browser will reject its' execution. Can you imagine the potential for abuse of such a feature?
Instead of using a browser based app, you may want to investigate using AIR and Native Process.

How can I configure Hudson to send an email for EVERY build, not just those that change the project's status?

I've recently migrated my CI server from an old version of CruiseControl to Hudson. The only feature I miss from CruiseControl is the ability to receive email build notices of EVERY build, not just those that cause the status of the project to change.
I'm ESPECIALLY interested in build notifications for all successful builds.
Anyone out there doing this? Or is it time for me to learn Hudson plugin development?
You want to install the Email-ext plugin. It will allow you to configure emails notices for each build.
I use it to send emails for successful builds. You can configure it send the email to the committers, or a fixed list of recipients.
When configuring your project, under "Editable Email Notification", there is a
button "Advanced...", which, upon clicking, reveals a number of items, including
a dropdown labelled "Add a trigger:". One of the options is "Success".
You should not see this error message after you click on Hudson->ManageHudson->configure System. Then you configure email.

Resources