#song #genius #interact #lyrics #api #search #id

genius-rust

Rust 库,允许与 Genius API 交互

2 个版本

0.1.1 2022 年 8 月 27 日
0.1.0 2022 年 8 月 27 日

#8#genius

38 每月下载量
用于 genius-cli

MIT 许可证

41KB
674

Crates.io Crates.io (recent) Crates.io

genius_rust

Rust 库,允许与 Genius API 交互。

搜索歌曲

use genius_rust::Genius;

#[tokio::main]
async fn main() {
    let genius = Genius::new(dotenv::var("TOKEN").unwrap());
    let response = genius.search("Ariana Grande").await.unwrap();
    println!("{}", response[0].result.full_title);
}

获取歌词

use genius_rust::Genius;

#[tokio::main]
async fn main() {
    let genius = Genius::new(dotenv::var("TOKEN").unwrap());
    let response = genius.search("Sia").await.unwrap();
    let lyrics = genius.get_lyrics(&response[0].result.id).await.unwrap();
    for verse in lyrics {
        println!("{}", verse);
    }
}

通过 ID 获取歌曲的详细信息

use genius_rust::Genius;

#[tokio::main]
async fn main() {
    let genius = Genius::new(dotenv::var("TOKEN").unwrap());
    let response = genius.search("Weeknd").await.unwrap();
    let song = genius.get_song(response[0].result.id, "plain").await.unwrap();
    println!("{}", song.media.unwrap()[0].url)
}

依赖项

~5–18MB
~264K SLoC