koishi-plugin-bilibili-login
koishi-plugin-bilibili-login
B站API
![npm](https://img.shields.io/npm/v/koishi-plugin-bilibili-login?style=flat-square)
![CodeFactor](https://www.codefactor.io/repository/github/jingming295/bilibili-login/badge)
![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fjingming295%2Fbilibili-login.svg?type=shield)
bilibili-login
简介
可以扫码登录b站。
一开始只是想做登录功能罢了,但是我决定添加更多东西!目前我提供了三个services,可以办到很多事情,包括获取视频流,点赞视频这些。具体可以参考 哔哩哔哩-API收集整理
如何使用
一些例子:
import { Context } from 'koishi'
import { } from 'koishi-plugin-bilibili-login'
export const inject = ['BiliBiliLogin', 'BiliBiliVideo', 'BiliBiliAnime'];
export const name = 'example'
export async function apply(ctx: Context)
{
const bl = ctx.BiliBiliLogin
const bv = ctx.BiliBiliVideo
const ba = ctx.BiliBiliAnime
const bilibiliAccountData = await bl.getBilibiliAccountData() // 获取账号cookie
console.log(bilibiliAccountData)
const bvideo = await bv.getBilibiliVideoStream(834398004, null, 1359369314, 112, 'html', 1) // 获取b站视频流信息
console.log(bvideo)
const animeData = ba.getAnimeDetailEPSS(null, 278373) // 获取番剧基本信息
console.log(animeData)
}
可以做到的事情
有些参数是非必要的,我并没有全部列出来,参数需不需要,是干什么的,具体可以看哔哩哔哩-API收集整理
如果你把鼠标停留在那个function上面的话,他是有解释什么参数是干什么的,并且有链接可以看这个api的文档
![image](https://forum.koishi.xyz/uploads/default/original/2X/c/ce7bcabafb52187c43ac2c7b2a67ac731340ce26.png)
bl.getNavUserData() // 获取导航栏用户信息
bv.getBilibiliVideoDetail(aid, bvid) // 获取视频基本信息
bv.getBilibiliVideoStream(aid, bvid, cid, qn, platform, fnval) // 获取视频流信息。aid,bvid和cid可以从前面的视频基本信息获取。其他的参数可以看这个https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/video/videostream_url.md
bv.getBilibiliVideoSnapshot(aid, bvid, cid, index) // 获取Bilibili视频的快照
bv.performLikeAndDislike(aid, bvid, like) // 执行点赞或点踩操作,like: 1(点赞), 2(取消点赞), 3(点踩), 4(取消点踩)
bv.checkIsLikedAndUnliked(aid, bvid) // 检查是否已经点赞/点踩
bv.addCoin(aid, bvid, multiply, select_like) // 投币视频,multiply为投币数量,select_like为是否同时点赞
bv.checkIsAddedCoin(aid, bvid) // 检查是否已经投币,并且获得已投数量
bv.addFavorite(aid, add_media_ids, del_media_ids) // 收藏或者取消收藏视频。add_media_ids是需要收藏到的收藏夹mlid,del_media_ids是需要取消收藏的收藏夹的mlid
bv.checkIsFavorite(aid) // 检查是否已经收藏视频
bv.likeTriple(aid, bvid) // 一键三连视频,同时点赞投币收藏视频,收藏于默认收藏夹中
bv.shareVideo(aid, bvid) // 分享视频(仅仅为了增加那个分享数)
bv.getVideoTags(aid, bvid) // 获取视频的标签信息
bv.likeTag(aid, tag_id) // 点赞视频标签, 重复访问为取消点赞,貌似已经不再可用,不管点赞什么视频tag都会返回访问权限不足
bv.dislikeTag(aid, tag_id) // 点踩视频标签, 重复访问为取消点踩,貌似已经不再可用,不管点赞什么视频tag都会返回访问权限不足
bv.getRecommandVideoFromSingleVideo(aid, bvid) // 根据视频获取推荐视频列表, 最多40个
bv.getRecommendVideoFromMainPage(fresh_type, version, ps, fresh_idx, fresh_idx_1h) // 获取主页推荐视频,最多30条推荐视频。fresh_type: 相关性 (非必要,默认为3) version web: 端新旧版本,0为旧版本,1为新版本 (非必要, 默认为1) ps: 返回的记录条数 (非必要, 默认为10,version为1时默认为8, 最多可以填写30) fresh_idx,fresh_idx_1h: 翻页相关 (非必要, 默认为1)
bv.getRecommendShortVideo(fnval, force_host, fourk) // 获取推荐的短视频,参数可以不写
bv.getInteractiveVideoDetail(aid, bvid, graph_version, edge_id) // 获取互动视频模块详细信息
bv.getHighEnergyBarList(cid, aid, bvid) // 获取弹幕趋势顶点列表,cid为必要
bv.setViewHistory(aid, cid, progress, platform) // 设置视频的观看历史 (在哪一秒) progress 为在哪一秒。platform为非必要
bv.postHeartbeat(aid, bvid, cid, epid, sid, mid, played_time, realtime, start_ts, type, sub_type, dt, play_type) // 上报视频播放心跳,aid和bvid二选一,其他参数为非必要
bv.getCurrentOnlineViewers(aid, bvid, cid) // 获取视频在线人数
bv.getAIConclusionAboutVideo(aid, bvid, cid, up_mid) // 获取AI摘要
bv.likeAndDislikeAIConclusion(aid, bvid, cid, up_mid, stid, like_state) // 点赞,取消点赞,点踩,取消点踩AI摘要
bv.getAppealType() // 获取投诉类型
bv.makeAppeal(aid, tid, desc, attach) // 投诉稿件
bv.getSeasonArchivesList(mid, season_id, sort_reverse, page_num, page_size) // 获取视频合集信息
免责声明
本插件仅供学习,用户做的任何事情与我无关,请在下载24小时后删除本插件。
License
![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fjingming295%2Fbilibili-login.svg?type=large)