bilibili-login: B站API,目前已经完善登录和视频的部分

koishi-plugin-bilibili-login


logo

koishi-plugin-bilibili-login

B站API

npm
CodeFactor
FOSSA Status

:tada:bilibili-login

bilibili-login

:memo:简介

可以扫码登录b站。

一开始只是想做登录功能罢了,但是我决定添加更多东西!目前我提供了三个services,可以办到很多事情,包括获取视频流,点赞视频这些。具体可以参考 哔哩哔哩-API收集整理

:eyes:如何使用

一些例子:

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)
}

:hammer_and_wrench:可以做到的事情

有些参数是非必要的,我并没有全部列出来,参数需不需要,是干什么的,具体可以看哔哩哔哩-API收集整理

如果你把鼠标停留在那个function上面的话,他是有解释什么参数是干什么的,并且有链接可以看这个api的文档

image

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) // 获取视频合集信息

:raised_hand:t2:免责声明

本插件仅供学习,用户做的任何事情与我无关,请在下载24小时后删除本插件。

License

FOSSA Status

7 个赞

我正在完善番剧相关的api

5 个赞

我超,大佬(跪

3 个赞

好耶!

3 个赞

我不知道24什么时候是小时候
那我在42小时候删除插件可以吗
921710ec31132a9649e50f788e33da9a

2 个赞

都可以)

2 个赞

看看 42 小时候

3 个赞

我还抱过你呢.jpg

1 个赞

我把搜索做出来了

import { } from 'koishi-plugin-bilibili-login'
export const inject = ['BiliBiliSearch']
const bs = ctx.BiliBiliSearch
bs.getSearchRequestByArticle('专栏keyword')
3 个赞

突然发现

这句是不是写错了

2 个赞

是写错了)

3 个赞

但是我发现我再也无法编辑帖子了,没法改正

3 个赞

权限已发放,可以编辑了

4 个赞

bilibili无法识别登录二维码
建议将二维码保存为图片放在某个目录中

1 个赞

可以作为选项之一,等我有时间了加这个

2 个赞