source: skype/README @ 9fcaedc0

Last change on this file since 9fcaedc0 was 9fcaedc0, checked in by Miklos Vajna <vmiklos@…>, at 2007-11-15T14:24:40Z

doc: deepcommand on how to apply the patch
http://bugs.bitlbee.org/bitlbee/ticket/82#comment:31 - it seems it's good to
mention this

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