source: skype/README @ 4eaadf6

Last change on this file since 4eaadf6 was 4eaadf6, checked in by Miklos Vajna <vmiklos@…>, at 2007-12-04T00:23:49Z

README: added a quote, from the closing mail of the skype ticket

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