13 releases (6 breaking)
Uses new Rust 2024
| 0.9.0 | Nov 7, 2025 |
|---|---|
| 0.8.3 | Oct 7, 2025 |
| 0.8.2 | Aug 22, 2025 |
| 0.7.7 | Aug 10, 2025 |
| 0.3.2 | Jun 23, 2025 |
#107 in #enums
150KB
3.5K
SLoC
msnp11-sdk
An MSNP11 client SDK written in Rust.
Bindings
Bindings for Kotlin and Swift can be generated with UniFFI.
lib.rs:
An MSNP11 client SDK.
Login
use msnp11_sdk::client::Client;
use msnp11_sdk::enums::event::Event;
use msnp11_sdk::models::personal_message::PersonalMessage;
use msnp11_sdk::enums::msnp_status::MsnpStatus;
let mut client = Client::new("127.0.0.1", 1863)
.await
.unwrap();
client.add_event_handler_closure(|event| async { /* Handle events... */ });
// Handle a redirection by creating a new connection
if let Ok(Event::RedirectedTo { server, port }) = client
.login(
"testing@example.com".to_string(),
"123456",
"http://localhost:3000/rdr/pprdr.asp",
"msnp11-sdk",
"0.7"
)
.await
{
client = Client::new(&*server, port).await.unwrap();
client
.login(
"testing@example.com".to_string(),
"123456",
"http://localhost:3000/rdr/pprdr.asp",
"msnp11-sdk",
"0.7"
)
.await
.unwrap();
}
client.set_presence(MsnpStatus::Online).await.unwrap();
client
.set_personal_message(&PersonalMessage {
psm: "test".to_string(),
current_media: "".to_string(),
})
.await
.unwrap();
Bindings
Bindings for Kotlin and Swift can be generated with UniFFI.
Dependencies
~14–34MB
~506K SLoC