Opened at 2006-01-08T23:05:04Z
Closed at 2008-05-13T17:13:49Z
#82 closed enhancement (fixed)
support for skype IM API?
Reported by: | csant | Owned by: | |
---|---|---|---|
Priority: | wishlist | Milestone: | |
Component: | BitlBee | Version: | 1.0 |
Keywords: | Cc: | ||
IRC client+version: | Client-independent | Operating System: | Public server |
OS version/distro: |
Description
Given that there is a public Skype API it would be nice if BitlBee would offer that additional service.
For a very basic python CLI interface to skype IM, see at the Skype Forums.
Attachments (0)
Change History (41)
comment:1 Changed at 2006-01-09T10:58:17Z by
comment:3 Changed at 2006-03-31T15:33:32Z by
I'm perfectly willing to run skype on the machine I run bitlbee on, if it'll prevent me from having to run skype on the 5 or 6 machines I regularly access my IRC screen session (and bitlbee) from. I love bitlbee because it lets me consolidate this kind of stuff... it would be great if it would let me consolidate skype-IM too. :)
Are you accepting patches for this?
comment:4 Changed at 2006-03-31T15:36:23Z by
Yeah, we usually do, as long as the code is not too bad and doesn't affect the program's stability. :-) But it doesn't have to be a patch, writing plugins for BitlBee should be possible too now.
comment:5 Changed at 2006-03-31T22:26:53Z by
Hi wilmer,
By "plugins", do you mean "subdirectories of bitlbee-1.0.1/protocols/", or is there some external-plugin API I should use? Is the release-branch of code the wrong place to look? I don't see any plugin documentation on www.bitlbee.org, nor do I see any in bitlbee-1.0.1/docs/, and I don't see any suspicious-looking plugin.h in the source tree.
If you think I should start from an svn checkout, which branch should I use?
Thanks :)
comment:6 Changed at 2006-03-31T22:33:31Z by
You'd want to look at doc/example_plugin.c. You should be able to use all regular BitlBee API's from your plugin as you would from BitlBee itself. You will probably want to call "register_protocol()" from your plugins init function.
Also see 'make install-dev', which will install the headers and .pc file for you.
Let us know if you have any questions.
comment:7 Changed at 2006-03-31T22:34:55Z by
I'm not sure how Skype's public API works, btw, but you'll violate the GPL if you need to link against any non-free libraries.
comment:8 Changed at 2006-03-31T22:37:42Z by
Yeah, good point. :-/ And for the repository (bzr, not svn!), just use -devel, it has all the plugin stuff already AFAIK.
comment:9 Changed at 2006-03-31T22:44:26Z by
Hi jelmer!
If that were the case, you'd be absolutely right. However, it looks like their idea of "public API" is exporting an IPC interface with dbus, so it looks like I will only need to link against libdbus.so (dual GPL/AFL license). The idea is to make bitlbee remote-control the running skype process, with dbus commands. Kind of a crock for public servers, but very useful for run-your-own-server users like me.
I'll check out the -devel branch. Thanks!
Mark
comment:10 Changed at 2006-04-03T00:32:32Z by
Thanks for your help, guys.
Well, I've learned all about dbus, and put together a skeleton plugin and a couple of test apps, only to discover that skype isn't actually listening to dbus requests. It seems skype requires old versions of dbus (like, <= 0.23).
The kopete-skype guys (over at http://extragear.kde.org/apps/kopete%20skype/) apparently have the same problem, and from their forums it looks like everyone's been patiently waiting for years for a new release of skype that works with newer dbus, cures cancer, supports alsa, doesn't segfault, doesn't require X11 and/or doesn't look like ass, and so on and so forth.
I have a pretty low tolerance for library-version incompetence, and I don't feel like breaking everything else by downgrading dbus, so I'm going to stop working on it for the moment. I might look at it again if I suddenly wake up one morning to discover I'm bored from not having enough broken software in my life, and I'll definitely revisit this if/when they fix their library problems. In the meantime, feel free to write me if you want a copy of my work to date... I haven't gotten very far, though.
Sorry for wasting your time :)
Mark
comment:11 Changed at 2006-09-05T23:59:41Z by
FYI, this might be worth revisiting in the near future.
The new (beta) version of Skype supports remote control using either DBus (still the old version, though they claim they will support version 0.61+ when they make a full release), or message-passing via libX11. There are examples for both DBus and X11 APIs up on their site.
https://developer.skype.com/Docs/ApiDoc/Using_the_Skype_API_on_Linux
I imagine linking against libX11 wouldn't cause any more licensing problems than linking against libdbus would. And it also looks like you have to pass "--enable-dbus" on the command-line to turn DBus on, so the libX11 protocol would be a bit more useful, I think. (as long as you have a DISPLAY environment variable, anyway.) Funny that they claim the examples are written in C, but the sources are .cpp files...
Mark
comment:12 Changed at 2007-05-31T21:50:36Z by
Hi, I too am anxiously awaiting some way for bitlbee to talk to skype... That last update was last year, what's happened on this since then?
Penny
comment:13 Changed at 2007-07-05T20:37:44Z by
None of us (core developers) is working on this. Writing a plugin that provides skype support should be possible though. I'd be happy to help figuring out the correct API's.
comment:14 Changed at 2007-08-18T02:39:42Z by
Hm the situation is not so easy. The target for many of us would be to run Skype on a server (where bitlbee runs), but that's not yet supported:
http://forum.skype.com/index.php?showtopic=89970
Maybe there is an ugly hacks to work this around? ;-)
- VMiklos
comment:15 Changed at 2007-08-19T03:19:13Z by
Hm. Here is an idea. I think it would be good to create a mini server on the machine where Skype runs.
Pros:
- Bitlbee usually runs on servers where Skype would not be able to start (lack of X, etc)
- This way later Skype support could be enabled even on public servers, as Bitlbee would be able to connect even to remote Skype instances.
- No DBus code in Bitlbee, the server would have a simple plaintext-based interface
- It would solve the problem mentioned in the previous commaent
Cons:
- It's a bit ugly, a bit more problematic to set up, and yet another used port ;)
What do you think about this?
comment:16 Changed at 2007-08-20T16:55:30Z by
Well, I did it this way ;)
Some initial code and documentation is available at:
http://ftp.frugalware.org/pub/other/people/vmiklos/bitlbee-skype/
as you can see chatting already works, but the TODO list is still long :)
comment:17 Changed at 2007-08-21T01:29:24Z by
That looks great! I'm going to download it soon and have a go - just one query - it looks like to talk to people you type in the control channel by prefixing their nick - this is different to being able to just /q them which is what I do currently for jabber & oscar connections - is this planned?
comment:18 Changed at 2007-08-21T11:44:19Z by
this is just a question of setting. the default is what you mentioned. you need to "set private false" to get the behaviour what you can see on the shots. just this is the way i like it. so don't worry, this is not related to the skype plugin :)
comment:19 Changed at 2007-08-22T00:34:20Z by
just wanted to announce that i finished implementing all the major features. in other words the current code firt my needs (except that annoying skype bug, but that's a bug in skype itself) and i think that it is documented enough that others could test the code. iow, please check it out and celebreate/blame me if it does/does not work :)
thanks,
- VMiklos
comment:20 Changed at 2007-08-29T05:23:09Z by
Hey I just started downloading and compiling this and then read the TODO list and see there's no immediate plan to add group chat support. That's pretty much the entire reason I have to run skype now as a particular open source project I work on conducts all its development chat on skype :(
Can you post here again if you implement this feature in the future?
:) Thanks for all your work on this so far!
comment:21 Changed at 2007-08-29T07:21:25Z by
Wow, an open source project that uses Skype... Do those people even know what open source means? :-/ Have you tried pushing Jabber? That should work with BitlBee. Or just use IRC... :-)
Miklos, great work! Now we know for sure that the plugin support really is good enough to add plugins ... well, with those four patches. I'll try to take a look at them soon so your plugin will run out of the box. It's great to have this as a plugin because something like this is exotic enough that I wouldn't be too happy about merging it into the main tree. Having this as a plugin is a *great* solution, and I'll do my best to keep the API stable now so this will continue to work.
comment:22 Changed at 2007-08-29T14:54:49Z by
Penny, sure, I'll post here a new comment if I'll be ready with the implementation of the group chat support.
Wilmer, thanks for your review in advance! :-)
comment:23 follow-up: 24 Changed at 2007-08-29T20:08:49Z by
wilmer, I know, I've been fighting that battle unsuccessfully for awhile now :(
VMiklos, thanks!
comment:24 Changed at 2007-08-30T03:26:48Z by
Replying to anonymous:
wilmer, I know, I've been fighting that battle unsuccessfully for awhile now :(
We're using Skype for development chat because it's free and supports: ongoing group chat (with many people, identified by name and profile photos), full history (if you come in late you can scroll back and see what everyone said earlier) and multiple platforms (Linux, Mac OS X, Windows) in a nice easy package. I'll happily switch to any open source package that has the same features! Show me one!
comment:25 Changed at 2007-08-30T21:39:27Z by
Hi Martin,
Thanks for the explanation. Well, Jabber groupchats can give backlogs, and I wouldn't be surprised if you can find a server somewhere that can give you more than just a fixed number of lines. Not sure about the profile stuff, but that probably depends on the Jabber client you're using.
Because I do think being forced to use one specific client is a *strong* point against Skype. It's much nicer to have a choice. :-)
comment:26 Changed at 2007-10-07T21:06:50Z by
Today I've released version 0.2.0 with group chat support.
There can be minor problems, but basically it should work. It works like on MSN - according to the docs:
- It detects when you're invited
- You can start a group chat using /j #nick
- You can use /invite nick in a group chat
Please test it and tell me if it works for you or what problems it has.
Thanks,
- VMiklos
comment:27 Changed at 2007-10-19T15:04:11Z by
Good work VMiklos!!
Are there any bitlbee public servers up and running with your skype plugin ??
comment:28 Changed at 2007-10-19T15:21:32Z by
That's never going to work because it depends on a running Skype instance that knows your username + password. :-)
comment:29 Changed at 2007-10-19T15:28:27Z by
the proxy daemon and bitlbee can be on two different machines, that's not a problem. but there is no authentication in the proxy daemon, and surely no-one will open his proxy daemon for a public server because of this.
i'm a bit confused, as i tried to keep the proxy daemon as minimal as possible. but it would be possible to add authentication support to the proxy daemon and then it would be safe to open the port of the proxy daemon "to the net", so that public servers could connect to it.
OTOH, this would bloat the proxy daemon and i don't think it would make things really easier since you still have to run the proxy daemon and skype on your own machine.
comment:30 Changed at 2007-11-15T14:05:35Z by
Hi, This is great work - thanks for all your efforts! I have been keeping up with the project and have tried a few times to get bitlbee talking to skype. I have just tried using the method described on VMiklos webpage and have bitlbee acknowledging when new users join and leave, but can't seem to send and receive messages. The skype client also doesn't seem to respond when the account is turned on and off from bitlbee - nor when /away is used. When the daemon is run in debugging mode (skyped -n -d) I have a recurring error when connected: << ERROR 2 Unknown command Does anyone have an idea what the problem is? I'd really love to get this working! Thanks for your help, Adam
System = Debian Etch, Skype = 1.4.0.118, Bitlbee = BitlBee bzr-260 Linux/i686 (with patch from VMiklos), Skype4Py = 0.9.28.1 (also tried most recent version 0.9.28.5), Python = 2.5 (Etch version), pygobject = available in Etch python modules
comment:31 Changed at 2007-11-15T14:11:12Z by
If it's important, the exact line used to patch bitlbee was: patch -p0 < bitlbee-topic-write.patch
Also, I used the tarball of bitlbee-skype-0.2.1 (I couldn't get git working)
comment:32 Changed at 2007-11-15T14:43:33Z by
I have just tried using the method described on VMiklos webpage and have
bitlbee acknowledging when new users join and leave, but can't seem to
send and receive messages. The skype client also doesn't seem to respond
when the account is turned on and off from bitlbee - nor when /away is
used.
there is an api change in skype4py 0.9.28.4+, that's why the docs says
"the latest tested version 0.9.28.3". i have 0.9.28.1 installed on my
procuction box
When the daemon is run in debugging mode (skyped -n -d) I have a recurring
error when connected:
<< ERROR 2 Unknown command
Does anyone have an idea what the problem is?
yes, that's an error message from skype. do you have a ">> FOO" line
before that?
something like:
>> FOO << ERROR blah
then we'll know that the problematic command is FOO
Skype = 1.4.0.118,
i have 1.4.0.99 here, but as far as i remember i tested 1.4.0.118, too
and it worked fine for me
Bitlbee = BitlBee bzr-260 Linux/i686 (with patch from VMiklos),
i have bzr256, but i don't think that would cause a problem
Skype4Py = 0.9.28.1 (also tried most recent version 0.9.28.5),
Python = 2.5 (Etch version),
pygobject = available in Etch python modules
this should be all ok, (0.9.28.1 is, 0.9.28.5 not)
If it's important, the exact line used to patch bitlbee was:
patch -p0 < bitlbee-topic-write.patch
that's obvious to me, but yes, i'm too addict :)
added to README
Also, I used the tarball of bitlbee-skype-0.2.1
(I couldn't get git working)
there are only doc updates in git since that version, so this should not
count
thanks,
- VMiklos
comment:33 Changed at 2007-11-20T16:31:58Z by
Hello,
Just wanted to inform you all that a new version of bitlbee-skype is now available. 0.2.2 works properly with BitlBee's dev version (>=bzr264) again.
Also, the project has been moved to http://vmiklos.hu/project/bitlbee-skype/.
Happy Skype-ing!
- VMiklos
comment:34 Changed at 2007-12-03T23:22:13Z by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Okay, this exists now, with lots of thanks to vmiklos for his *excellent* work!!
It's not in the main BitlBee and it'll never be for various reasons, but because it's a plugin that shouldn't be a problem.
comment:35 Changed at 2007-12-04T15:51:03Z by
Just wanted to let you know what 0.2.3 is out for a while with one interesting change: you no longer receive the fake warning when creating the groupchat.
- VMiklos
comment:36 Changed at 2007-12-14T01:36:18Z by
0.2.4 is out:
- fix for latest skype4py, this should fix the '<< ERROR 2 Unknown' problem, too
- tested with latest skype 2 beta (the one which has video support)
- improved documentation
- VMiklos
comment:37 Changed at 2007-12-16T23:07:58Z by
0.2.5 is out and is available at the usual http://vmiklos.hu/project/bitlbee-skype/ page.
it introduces a new feature: the 'info' command of bitlbee is now supported (to show full name, age, birthday date, etc).
- VMiklos
comment:38 Changed at 2008-01-10T16:49:29Z by
new year, new release!
0.2.6 is out:
- the server setting has a default value, 'localhost' so in most cases you no longer have to set it explicitly
- support for receiving emoted messages, ie. when the user types '/me foo'
- support for setting the display name (nick 0 "foo bar") - it sets the mood text
enjoy,
- VMiklos
comment:39 Changed at 2008-02-23T03:07:52Z by
0.3.2 is out and is available at the usual http://vmiklos.hu/project/bitlbee-skype/ page.
new features since the last announcement:
- authentication support in skyped via ssl, so including the skype plugin even on a public server makes sense
- support for Skype 2.0.0.43
- skyped now automatically starts/shuts down skype
- improved 'make prepare' to handle more automake versions (this was a problem for some people when not using the released tarball)
- documentation improvements
enjoy,
- VMiklos
comment:40 Changed at 2008-05-12T21:42:58Z by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Hello
anyone can help me ?
its is posible to send msg to group on bitlbee - yahoo messenger?
Thank You
comment:41 Changed at 2008-05-13T17:13:49Z by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Mister florin61215@…,
Not only are you trying to get BitlBee to help you in your spamming activities, you are actually spamming us, everywhere around the project, to get someone to do your fucking dirty work. We banned you on IRC and you continue to send random people e-mails. And now you're reopening totally irrelevant tickets. This is totally unacceptable.
GET LOST. Don't EVER come close to anything related to BitlBee again. Nobody's going to help you in your mission to continue to irritate people all around you in even more ways.
I'm not sure how useful this would be, as it requires you to have the skype GUI running. For instance, this would never work on a public server.