source: skype/README @ c09f90f

Last change on this file since c09f90f was c09f90f, checked in by Miklos Vajna <vmiklos@…>, at 2007-11-24T19:32:36Z

move the skype api doc link to the resources section

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