source: skype/README @ 05cf927

Last change on this file since 05cf927 was 05cf927, checked in by Miklos Vajna <vmiklos@…>, at 2007-12-14T00:59:42Z

fixup for Skype4Py >= 0.9.28.4

  • Property mode set to 100644
File size: 7.2 KB
Line 
1= Skype plugin for BitlBee
2Miklos Vajna <vmiklos@vmiklos.hu>
3
4== Status
5
6[Wilmer van der Gaast (author of BitlBee)]
7____
8Okay, this exists now, with lots of thanks to vmiklos for his *excellent*
9work!!
10
11It's not in the main BitlBee and it'll never be for various reasons, but
12because it's a plugin that shouldn't be a problem.
13____
14
15One day I browsed the BitlBee bugtracker and found
16http://bugs.bitlbee.org/bitlbee/ticket/82[this] ticket. Then after a while I
17returned and saw that it was still open. So I wrote it.
18
19It's pretty stable, I use it for my daily work. Being a plug-in, no patching
20is required, you can just install it after installing BitlBee itself.
21
22NOTE: You will see that this implementation of the Skype plug-in still requires
23a Skype instance to be running. This is because I'm not motivated to reverse
24engineer Skype's
25http://en.wikipedia.org/wiki/Skype_Protocol#Obfuscation_Layer[obfuscation
26layer]. (Not mentioning that you should ask your lawyer about if it is legal or
27not..)
28
29== Requirements
30
31* Skype >= 1.4.0.99. (1.4.0.74 did not work for me, 1.4.0.118 seems to be OK.)
32* bitlbee 1.1.1dev. (This is the latest version I've tested, probably
33  newer versions probably will work, too.)
34* Skype4Py >= 0.9.28.4. Previous versions report synchronous replies twice. The
35  latest version I've tested is 0.9.28.7.
36* Python 2.5. Skype4Py does not work with 2.4.
37* pygobject
38
39`bitlbee-skype` has been tested under Linux and Windows. Skype is available
40under OSX, too, so it probably works, but this has not been tested.
41
42== How to set it up
43
44Before you start. The setup is the following: BitlBee can't connect directly to
45Skype servers (the company's ones). It needs a running Skype client to do so.
46In fact BitlBee will connect to `skyped` (a tcp server, provided in this
47package) and `skyped` will connect to to your Skype client.
48
49NOTE: The order is important. First you have to start Skype. Then `skyped` can
50connect to it, finally BitlBee can connect to `skyped`. (In fact `skyped`
51automatically reconnect if you restart Skype.)
52
53- If you happen to be a happy Frugalware user, you can install the `bitlbee`
54  and `bitlbee-skype` packages from
55  http://ftp.frugalware.org/pub/other/people/vmiklos/bmf/[my repo].
56
57- You need the BitlBee testing/development version:
58
59----
60wget http://get.bitlbee.org/src/bitlbee-1.1.1dev.tar.gz
61tar xf bitlbee-1.1.1dev.tar.gz
62cd bitlbee-1.1.1dev
63----
64
65NOTE: You no longer need additional patches, as of version 1.1.1dev.
66
67- Now compile and install it:
68
69----
70./configure
71make
72make install install-dev
73----
74
75- Get the plugin code:
76
77----
78git clone git://vmiklos.hu/~vmiklos/bitlbee-skype
79----
80
81(Or you can use the tarballs below, see the Changelog about what
82features/bugfixes will you miss in this case).
83
84NOTE: It doesn't matter where do you get it, it'll install the plugin to
85`/usr/local` by default (that's the location where BitlBee searches for plugins
86by default).
87
88- Compile and install it:
89
90----
91cd bitlbee-skype
92make prepare
93./configure
94make
95make install
96----
97
98- Install http://skype4py.sourceforge.net/[Skype4Py].
99
100(You may remember that previous versions of `skyped` did not require this
101package. This because it now uses the X11 interface of Skype (because the
102previously used `DBus` interface had
103http://forum.skype.com/index.php?s=&showtopic=94545&view=findpost&p=431710[known
104problems]), but I wanted to prevent a large code duplication from that project.
105In addition it then no longer requires the `dbus-python` package, just
106`pygobject`.)
107
108- Start Skype and `skyped` (the tcp server):
109
110----
111skype
112skyped
113----
114
115NOTE: It's important to start `skyped` on the same machine and using the same
116user!
117
118- Start your `IRC` client, connect to BitlBee and add your account:
119
120----
121account add skype <user> <pass>
122account set 0/server localhost
123----
124
125IMPORTANT: <user> should be your Skype account name. This way you won't see
126yourself joining to `&bitlbee`.
127
128NOTE: the <pass> option is not used currently.
129
130== Setting up Skype in a VNC server (optional)
131
132Optionally, if you want to run Skype on a server, you might want to setup up
133a `VNC` server as well. I used `tightvnc` but probably other `VNC` servers will
134work, too.
135
136First run
137
138----
139vncpasswd ~/.vnc/passwd
140----
141
142and create a password. You will need it at least once.
143
144Now create `~/.vnc/xstartup` with the following contents:
145
146----
147#!/bin/sh
148
149sleep 1
150skype &
151sleep 5
152skyped
153----
154
155Adjust the permissions:
156
157----
158chmod +x ~/.vnc/xstartup
159----
160
161Then start the server:
162
163----
164vncserver
165----
166
167Then connect to it, and set up Skype (username, password, enable auto-login, and
168allow the `SkypeApiPythonShell` client when Skype asks about it).
169
170Please be aware about that Skype has serious memory leak issues. After running
171with for a few weeks it may eat >300 MB of memory. Just don't forget to restart
172your VNC server regularly. (How ugly.)
173
174== What works
175
176- Download nicks and away statuses from Skype
177
178- Noticing joins / parts while we're connected
179
180- Sending messages
181
182- Receiving messages
183
184- Receiving away status changes
185
186- `skyped` (the tcp daemon that is a gateway between Skype and tcp)
187
188- Error handling when `skyped` is not running and when it exits
189
190- Marking received messages as seen so that Skype won't say there are unread messages
191
192- Adding / removing contacts
193
194- Set away state when you do a `/away`.
195
196- When you `account off`, Skype will set status to `Offline`
197
198- When you `account on`, Skype will set status to `Online`
199
200- Detect when somebody wants to add you and ask for confirmation
201
202- Detect when somebody wants to transfer a file
203
204- Group chat support:
205
206  * Detect if we're invited
207
208  * Send / receive group chat messages
209
210  * Invite others (using `/invite <nick>`)
211
212  * Part from group chats
213
214  * Starting a group chat (using `/j #nick`)
215
216- Topic changes in group chats:
217
218  * Show the current topic (if any) on join
219
220  * Notice when someone changes the topic
221
222  * Support changing the topic using `/topic`
223
224== What needs to be done (aka. TODO)
225
226- Add a question callback for calls.
227
228- Notice if foo invites bar. Currently you can see only that bar joined.
229
230- Public chats. See link:http://forum.skype.com/index.php?showtopic=98872[this
231  forum thread], it is still unclear how could it be done for you to be able to
232  `/join` to a public chat..
233
234== I would like to have support for ...
235
236If something does not work and it's not in the TODO section, then please
237contact me! Please also try the git version before reporting a bug, your
238problem may be already fixed there.
239
240In fact, of course, I wrote this documentation after figured out how to do this
241setup, so maybe I left out some steps. If you needed 'any' additional tricks,
242then it would be nice to include them here.
243
244== Known bugs
245
246- None at this time.
247
248== Screenshots
249
250You can reach some screenshots link:shot[here].
251
252== Additional resources
253
254You can reach the Changelog link:Changelog[here], and a gitweb interface
255http://repo.or.cz/w/bitlbee-skype.git[here].
256
257The Skype API documentation is
258https://developer.skype.com/Docs/ApiDoc[here] if you're interested.
259
260== Thanks
261
262for the following people:
263
264* Wilmer van der Gaast, for answering questions about the bitlbee plugin interface
265
266* Arkadiusz Wahlig, author of skype4py, for making suggestions to skyped
267
268* Gabor Adam TOTH, for usable bugreports
269
270Back to my link:/projects[projects page].
271
272// vim: ft=asciidoc
Note: See TracBrowser for help on using the repository browser.