ok, I do not like writing documentation, and this is a first very rough
release anyway :-) 
So I'll be very concise.

napyrc is a proxy between napster protocol and irc protocol. It looks
like an IRC server, you connect to it with your ordinary IRC client.
Napster channels are mapped to IRC channels (with preppended #), napster
nicks are mapped to IRC nick, as you could expect. Be sure to connect
with the same IRC nick as your napster nick! Common IRC commands works,
e.g. /join /part /whois /msg /list 
Many other commands do not work, e.g. /who /lusers 

Downloading and searching is done via special &console channel. Join the
channel and issue commands (just write into the channel):

search name
 - to search for a song named name
 e.g.
search Metallica

dir nick
 - to list all songs shared by nick
 e.g.
dir Patel
 Notice: if the dir'ed nick shares too many files, napster
 server will disconnect you when you ask for a listing.
 This is a bug in napster server, not in napyrc, and
 will happen with any client.

get nick song
 - get song from nick. You have to enter the full path of the song.
 e.g.
get Patel C:\Program Files\Napster\Music\Nothing Else Matters.mp3
 How user friendly :-)
 Or just enter the number listed in the first column with dir or search
 e.g.
get 6

ps
 - print current transfers and their progress
   GET means somebody is GETting the file from you,
   RETR means you are RETRieving the file,
   SEND means someboey is SENDing the file to you (if he is firewalled)
   
set
 - display various variables

set variable value
 - set variable
   so far, meaningful variables are upload_limit, per_user_upload_limit,
                                    upload_speed, resume
   This affects only newly created connections.

set N.variable value
 - set internal variable for connection #N (as displayed with ps) to the value.
   so far, the only meaningful variable is upload_speed (in B/s)
   e.g.
   set 12.upload_speed 20000


Resuming:
    if resume is set to 1, and file you are trying to download already exists,
    downloading will start at the offset equal to the length of the existing 
    file, and data will be appended to the existing file. No other properties
    (such as bitrate, frequency...) are checked!
    
    Resuming works only if your part is not behind a firewall.
    

So far, napyrc is known to work well with following irc clients:
sirc
bitchx
epic4
zircon 
telnet localhost 6667 :-)

I tested napyrc only on linux, with python 1.5.2. In theory, it should work
on other platforms too... but theory is theory :-)

Sharing files:
napyrc will happily share all files, not just mp3's. Enter the file extensions
in config.py, e.g. 
shared_patterns = ["*.mp3", "*.exe"]
If the filename does not have an extension .mp3, string "|not really an|.mp3"
will be added to it to fool napster server. Tell the downloader to rename it
after downloading.

All the information about shared files is computed on the fly when you
connect to the server. This can be disk and CPU stressing, therefore you
can prepare a list of shared files before. Use program makeshared.py,
and set option use_shared_file = 1 in config.py 
Do not forget to update the list from time to time :-)


What does not work:
firewalled uploading - you must have direct connection to internet.
    your party can be firewalled (can have port 0)
hotlist
connecting as a new user - you must already have an account on napster
resuming download wht your party is firewalled
and others...

