Skip to content
This repository has been archived by the owner on Aug 28, 2023. It is now read-only.

Latest commit

 

History

History
214 lines (181 loc) · 6.93 KB

README_zhHant.md

File metadata and controls

214 lines (181 loc) · 6.93 KB

yabapi logo

License: CC0 Maven-Central Yabapi Version Maven-Central Yabapi Snapshots Version

🔧 WIP 並沒有進入穩定版本, API 可能會發生變動, 简体中文

Intro

簡而言之,Yabapi 是一個 B 站第三方 Kotlin API 庫。

License

本項目代碼基於 CC0 分發, 釋放於公有領域, 如果你樂意, 可以在使用時附上我的名字(這並不強製).

本項目 Logo 基於 CC BY ND 4.0 分發, 若需要使用 Logo, 務必附上本項目地址, 並且不得更改其內容. Banner 使用了思源等寬.

特性

多平臺

本項目是 Kotlin Multiplatform 項目,現在支持 JVM 和 Native 兩大平臺,絕大多數功能都提供多平臺支持。

高性能

基於 Kotlin 協程 的支持,開發者可以輕松寫出高性能的代碼。

類型安全

Kotlin 為開發者提供了巨大幫助,包括在語言層面上對空指針的避免,以及完備的序列化庫 kotlinx.serialization.

Yabapi 基於此,力求類型安全,避免空指針,減少運行時錯誤。

支持的 API

查看詳情
  • 登錄

    • 圖形驗證碼獲取 (驗證需通過 geetest-validator)
    • Web 登錄
      • Cookie
      • 密碼登錄
        • Native 平臺的 RSA 支持
      • 掃碼登錄
      • 短信登錄
    • APP / TV?
  • 關系

    • 查詢粉絲
    • 查詢關註
    • 查詢特別關註
    • 批量查詢
    • 關註/悄悄關註/拉黑 及取消操作
    • 批量操作 (僅關註/拉黑)
    • 查詢關系
  • 信息獲取

    • 個人基本信息
    • 硬幣狀態及花費歷史
    • 每日經驗值獎勵獲取
    • 大會員狀態
    • 實名狀態
    • 昵稱是否可用
    • 用戶空間
      • 置頂 / 代表作
      • 近期遊戲
      • 近期投幣
      • 空間公告
      • 空間設置
      • Tags
      • 收藏夾獲取
        • 創建的
        • 收藏的
      • 稍後觀看
        • 查看 / 增加 / 刪除 / 清除
      • 空間頻道 (視頻合集)
        • 信息獲取
      • 訂閱番劇
      • 訂閱標簽
  • 搜索

    • 綜合搜索
    • 分類搜索
      • 視頻
      • 番劇 及 劇集
      • 用戶
      • 直播間 及 直播用戶
      • 話題
      • 專欄
      • 相關篩選
  • 視頻

    • 基本信息
    • 在線人數
    • 高能進度條
    • Tags
    • 分P
    • 所屬合集
    • 點贊/投幣/收藏/一鍵三連 及 狀態查詢
    • 全清晰度(8K/4K/1080P+) 音視頻流獲取
      • 下載?
  • 專欄

    • 基本信息
    • 文集信息
  • 動態

    • 獲取 新動態 / 特定用戶
    • 動態解析
      • 文本
      • 圖文
      • 視頻
      • 番劇
      • 專欄
      • 合集
      • 分享
      • ...
  • 相簿

    • 上傳圖片

    介於 相簿專站 基本廢棄, 不計劃添加額外 API

  • 專欄

    • 基本信息
    • 詳細信息
    • 文集信息
  • 直播

    • 獲取信息
    • 簽到
      • 檢查簽到信息(本月/上月)
    • 直播排行榜
      • 主播元氣榜
      • 用戶能量榜
      • 主播艦隊榜
      • 船員價值榜
      • 艦船人數榜
      • 用戶等級榜
      • 主播等級榜
      • 勛章等級榜
    • 建立 WebSocket 消息流連接
      • 發送 認證包 & 心跳包
      • 接收 認證回應 & 心跳回應
      • 接收 普通包 & 解析
        • 禮物連發
        • 彈幕信息
        • 艦長特效
        • 上艦信息
        • 高能榜變化 V1, V2
        • 高能榜TOP3 變化
        • 登上熱門 V1, V2
        • 房間信息變化(標題更改)
        • 房間實時信息(粉絲, 粉絲團)
        • 交互信息
        • 交互遊戲信息
        • 直播活動頁面信息
        • 廣播信息
        • SuperChat 進場/發送/刪除
          • 日語樣式
        • 續費/開通艦長提示
        • 活動 banner 顯示
        • 抽獎 開始/結束/審核/獲獎
    • 直播視頻流 全分辨率獲取
      • 下載?
  • 表情

    • 獲取表情列表
  • 時間

    • 獲取服務器時間戳
  • Cookie 存儲

    • 提供 FileCookieStorage

敏感 API 不會被支持, 如 B 幣錢包、註冊、新人答題、課程下載。同時 API 會優先支持讀取操作。

Setup

// Common
implementation("moe.sdl.yabapi:yabapi-core:$version")
// JVM
implementation("moe.sdl.yabapi:yabapi-core-jvm:$version")
// Native
implementation("moe.sdl.yabapi:yabapi-core-native:$version")

Snapshots

repositories {
    maven("https://s01.oss.sonatype.org/content/repositories/snapshots/")
}

dependencies {
    implementation("moe.sdl.yabapi:yabapi-core-$platform:$snapshotVersion")
}

Change Log

See: CHANGELOG.md

Thanks

  • Kotlin - A modern programming language that makes developers happier.
  • kotlinx.serialization - Kotlin multiplatform / multi-format reflectionless serialization
  • kotlinx.coroutines - A rich library for coroutines developed by JetBrains
  • Ktor - An asynchronous framework for creating microservices, web applications and more.
  • Kermit - Multiplatform logger library
  • Korlibs - Korlibs is a set of Kotlin Common modern libraries to do full stack development
  • bilibili-API-collect - 嗶哩嗶哩-API收集整理