Crate libannict

Crate libannict 

Source
Expand description

Annict の Web API のクライアントライブラリ

§使用例

use libannict::Annict;

// クライアントの作成
let client = Annict::new("access_token");

§作品を検索する

// 作品を検索
let works = client
    .works()
    .filter_title("ゼロの使い魔".to_owned())
    .search(10)
    .await?;

// 作品の情報を利用
for work in works {
    println!("{}", work.title);
}

§エピソードを検索する

// エピソードを検索
let episodes = client
    .episodes()
    .filter_work_id(6077)
    .search(20)
    .await?;

// エピソードの情報を利用
for episode in episodes {
    println!("{:?}", episode.title);
}

§自分が視聴状況をつけた作品を検索する

use libannict::{work::SortBy, Order};

// 作品を検索
let works = client
    .me()
    .works()
    .sort(SortBy::Season, Order::Desc)
    .search(10)
    .await?;

// 作品の情報を利用
for work in works {
    println!("{}", work.title);
}

§特定のユーザーの活動を検索する

use libannict::{Activity, ChangeStatus, Status};

// 活動を検索
let activities = client
    .user("naskya".to_owned())
    .activities()
    .search(10)
    .await?;

// 活動の情報を利用
for activity in activities {
    if let Activity::ChangeStatus(activity) = activity {
        let ChangeStatus { status, work, .. } = activity;
        match status {
            Status::Watched => println!("「{}」を観ました", work.title),
            _ => (),
        }
    }
}

§作品の視聴状況を変更する

use libannict::Status;

// ID が 860 の作品の視聴状況を「見た」に変更
let _ = client
    .write_access()
    .change_status(860, Status::Watched)
    .await?;

§GraphQL API によって返される ID を直接利用する

use libannict::{AnnictObject, InternalId, Work};

// アニメ「AIR」の GraphQL API における ID
let id = InternalId("V29yay0yNDE=".to_owned());

// 作品の情報を取得
let work = Work::from_internal_id(&client, id).await?;
assert_eq!(work.title, "AIR");

Modules§

character
episode
organization
person
work

Structs§

Annict
Annict API クライアント
Cast
キャスト(作品ごとに存在する、登場人物とその声優さんの対応関係)
ChangeStatus
作品視聴状況の変更
Character
登場人物
Episode
エピソード(作品の各話)
InternalId
オブジェクトの GraphQL API における ID
MultipleRecords
エピソードの視聴記録の一括追加
Organization
団体
Person
人物
Record
エピソードの視聴記録
Review
作品の感想
Series
作品群
User
Annict の利用者
Work
アニメ作品

Enums§

Activity
活動
BloodType
血液型
Chapter
作品の構成
Error
libannict で発生しうるエラー
Media
リリース媒体
ObjectType
Annict API で取得できるオブジェクトの種類
Order
検索結果をソートする順序
Rating
評価
Season
季節
Status
視聴状況

Traits§

AnnictObject
Annict API で取得できるオブジェクトに共通して行える操作

Type Aliases§

Result
Result<T, libannict::Error> のエイリアス