Files
soulseek-rs-modded/soulseek-rs-lib/README.md
T

56 lines
1.2 KiB
Markdown

# soulseek-rs-lib
A Rust library for implementing the Soulseek peer-to-peer protocol.
## About
This library provides the core functionality for interacting with the Soulseek
network. It can be used to build custom Soulseek clients or bots.
## Usage
Add this to your `Cargo.toml`:
```toml
[dependencies]
soulseek-rs-lib = "0.1.0"
```
## Example
```rust
use soulseek_rs::{Client, PeerAddress};
use std::time::Duration;
fn main() -> Result<(), Box<dyn std::error::Error>> {
// Create and connect to Soulseek server
let mut client = Client::new(
PeerAddress::new("server.slsknet.org".to_string(), 2242),
"username".to_string(),
"password".to_string(),
false,
None,
);
client.connect();
client.login()?;
// Search for files
let results = client.search("Alex Kassian lifestream", Duration::from_secs(10))?;
// Download first available file
if let Some(result) = results.iter().find(|r| !r.files.is_empty()) {
let file = &result.files[0];
client.download(
file.name.clone(),
file.username.clone(),
file.size,
"~/Downloads".to_string(),
)?;
println!("Downloaded: {}", file.name);
}
Ok(())
}
```