nonebot | 您所在的位置:网站首页 › b站用户直播弹幕查询 › nonebot |
nonebot_plugin_searchBiliInfo
✨ NoneBot b站用户信息查询插件 ✨ 适用于nonebot2 v11的b站用户信息查询插件【粉丝、舰团信息;直播收益数据;直播观看信息;关键词搜昵称、UID;主播营收榜单;查成分;查牌子等】 (ps:微调源码可以兼容其他版本) 调用的相关API源自b站官方接口、danmakus.com和vtbs.fun 📖目录 🔧 开发环境 💿 安装 1. nb-cli安装(推荐) 2. 本地安装 3. pip安装 更新版本 🔧 配置 cookie获取方式 env配置 🎉 功能 👉 命令(命令前缀自行替换喵~) /查 /查直播 /查舰团 /查昵称 /查收益 /查观看 /查观看2 /查弹幕 /查弹幕2 /查牌子 /查人气 /查装扮 /营收 /涨粉 /DD风云榜 或 /dd风云榜 或 /风云榜 (寄了) /v详情 或 /V详情 或 /v详细 或 /V详细 /v直播势 或 /V直播势 /v急上升 或 /V急上升 /v急下降 或 /V急下降 /v舰团 或 /V舰团 /vdd 或 /VDD 或 /VDD风云榜 或 /vdd风云榜 /V宏观 或 /v宏观 /dmk查用户 或 /DMK查用户 /dmk查直播 或 /DMK查直播 /dmk分析 或 /DMK分析 /blg查弹幕 或 /BLG查弹幕 /blg查入场 或 /BLG查入场 /blg查礼物 或 /BLG查礼物 /blg直播记录 或 /BLG直播记录 /blg直播间sc 或 /BLG直播间SC /icu查直播 或 /ICU查直播 或 /matsuri查直播 /lap查用户 或 /LAP查用户 /lap查牌子 或 /LAP查牌子 /lap查充电 或 /LAP查充电 /lapdd 或 /LAPDD 或 /lapdd排行榜 /zero查用户 或 /ZERO查用户 /zero被关注 或 /ZERO被关注 斗虫 或 主播pk 或 主播PK eh查直播 或 诶嘿查直播 或 eihei查直播 /vtb网站 ⚙ 拓展 📝 更新日志 致谢 项目打包上传至pypi poetry twine 目录自动生成 安装 使用 🔧 开发环境Nonebot2:2.0.0b5 python:3.8.13 操作系统:Windows10(CentOS7下正常运行,Linux兼容性问题不大) 编辑器:pycharm 💿 安装环境依赖aiohttp和nonebot_plugin_htmlrender库 部分功能需要获取自己的cookie,配置env后才能正常使用! 1. nb-cli安装(推荐)在你bot工程的文件夹下,运行cmd(运行路径要对啊),执行nb命令安装插件,插件配置会自动添加至配置文件 nb plugin install nonebot_plugin_searchBiliInfo 2. 本地安装先安装下 aiohttp 和 htmlrender pip install aiohttp pip install nonebot_plugin_htmlrender将项目clone到你的机器人插件下的对应插件目录内(一般为机器人文件夹下的src/plugins),然后把nonebot_plugin_searchBiliInfo文件夹里的内容拷贝至上一级目录即可。 clone命令参考(得先装git,懂的都懂): git clone https://github.com/Ikaros-521/nonebot_plugin_searchBiliInfo.git也可以直接下载压缩包到插件目录解压,然后同样提取nonebot_plugin_searchBiliInfo至上一级目录。 目录结构: 你的bot/src/plugins/nonebot_plugin_searchBiliInfo/__init__.py 3. pip安装 pip install nonebot_plugin_searchBiliInfo打开 nonebot2 项目的 bot.py 文件, 在其中写入 nonebot.load_plugin('nonebot_plugin_searchBiliInfo') 当然,如果是默认nb-cli创建的nonebot2的话,在bot路径pyproject.toml的[tool.nonebot]的plugins中添加nonebot_plugin_searchBiliInfo即可 pyproject.toml配置例如: [tool.nonebot] plugin_dirs = ["src/plugins"] plugins = ["nonebot_plugin_searchBiliInfo"] 更新版本 nb plugin update nonebot_plugin_searchBiliInfo 🔧 配置 cookie获取方式浏览器进入b站官网并登录: https://www.bilibili.com/ edge(或其他浏览器)按f12(或鼠标右键“检查” “开发者工具”等), 然后点击右上角那个">>"符号, 进入"网络" 再按ctrl+r(或f5)刷新元素 随便点击一个请求, 在“请求标头”里面找到cookie(没有就换一个) cookie冒号后面的就是cookie,复制一下, 可以把ta添加到env里 如果不想放太多cookie信息,只需要buvid3字段即可。 env配置 # 在你的env文件中添加如下配置(我的是.env.prod) 仅需要buvid3字段即可 searchBiliInfo_cookie="buvid3=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXXinfoc;" 配置项 必填 默认值 说明 searchBiliInfo_cookie 否 "" b站cookie,仅需要buvid3字段即可 🎉 功能通过uid 或 设定好的短语 或 b站接口搜索查询指定b站用户的粉丝、舰团信息;直播收益数据;直播观看信息;关键词搜昵称、UID等信息;主播营收榜单。 👉 命令(命令前缀自行替换喵~) /查命令结构:/查 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/查 uid:3709626 或 /查 :3709626 或 /查 bishi bot返回内容: /查直播命令结构:/查直播 (uid:或UID:或:或:)+用户uid或昵称关键词 场次数(默认不写为全部) 例如:/查直播 UID:3709626 1 或 /查直播 bishi bot返回内容(图片): /查舰团命令结构:/查舰团 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/查舰团 :3709626 或 /查舰团 bishi bot返回内容(图片): /查昵称命令结构:/查昵称 昵称关键词 例如:/查昵称 伊卡洛斯 bot返回内容(图片): /查收益命令结构:/查收益 (uid:或UID:或:或:)+用户uid或昵称关键词 收益类型(默认1: 礼物,2: 上舰,3: SC) 倒叙第n场(从0开始) 例如:/查收益 :3709626 礼物 1 或 /查收益 bishi 2 0 bot返回内容(图片): /查观看命令结构:/查观看 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/查观看 UID:666666 或 /查观看 bishi bot返回内容(图片): /查观看2命令结构:/查观看2 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/查观看2 UID:666666 或 /查观看2 bishi bot返回内容(图片): /查弹幕命令结构:/查弹幕 (uid:或UID:或:或:)+用户uid或昵称关键词 查询的主播昵称关键词或(uid:或UID:或:或:)+ 页数(可不填,默认0) 条数(可不填,默认3) 例如:/查弹幕 uid:3709626 Love丶伊卡洛斯 1 1 或 /查弹幕 uid:3709626 Love丶伊卡洛斯 1 bot返回内容(图片): /查弹幕2命令结构:/查弹幕2 (uid:或UID:或:或:)+用户uid或昵称关键词 页数(可不填,默认0) 条数(可不填,默认3) 例如:/查弹幕2 uid:3709626 2 2 或 /查弹幕2 uid:3709626 2 bot返回内容(图片): /查牌子命令结构:/查牌子 主播牌子关键词 例如:/查牌子 天 或 /查牌子 天降 bot返回内容(图片): /查人气命令结构:/查人气 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/查人气 uid:3709626 或 /查人气 Love丶伊卡洛斯 bot返回内容(图片): /查装扮命令结构:/查装扮 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/查装扮 uid:2 或 /查装扮 :2 bot返回内容(图片): /营收命令结构:/营收 日/周/月榜 人数(不填默认100) 例如:/营收 日榜 3 或 /营收 月榜 bot返回内容(图片): /涨粉命令结构:/涨粉 日/周/月榜 人数(不填默认100) 例如:/涨粉 日榜 3 或 /涨粉 月榜 bot返回内容(图片): /DD风云榜 或 /dd风云榜 或 /风云榜 (寄了)命令结构:/DD风云榜 top人数(不填默认10) 例如:/DD风云榜 或 /风云榜 20 bot返回内容(图片): /v详情 或 /V详情 或 /v详细 或 /V详细命令结构:/v详情 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/v详情 uid:3709626 或 /V详情 :2 或 /v详细 Love丶伊卡洛斯 或 /V详细 :2 bot返回内容(图片): /v直播势 或 /V直播势命令结构:/v直播势 例如:/v直播势 或 /V直播势 bot返回内容(图片): /v急上升 或 /V急上升命令结构:/v急上升 例如:/v急上升 或 /V急上升 bot返回内容(图片): /v急下降 或 /V急下降命令结构:/v急下降 例如:/v急下降 或 /V急下降 bot返回内容(图片): /v舰团 或 /V舰团命令结构:/v舰团 例如:/v舰团 或 /V舰团 bot返回内容(图片): /vdd 或 /VDD 或 /VDD风云榜 或 /vdd风云榜命令结构:/vdd 例如:/vdd 或 /VDD 或 /vdd风云榜 bot返回内容(图片): /V宏观 或 /v宏观命令结构:/vdd 例如:/V宏观 或 /v宏观 bot返回内容(图片): /dmk查用户 或 /DMK查用户命令结构:/dmk查用户 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/dmk查用户 uid:3709626 或 /DMK查用户 Love丶伊卡洛斯 bot返回内容(图片): /dmk查直播 或 /DMK查直播命令结构:/dmk查直播 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/dmk查直播 uid:3709626 或 /DMK查直播 Love丶伊卡洛斯 bot返回内容(图片): /dmk分析 或 /DMK分析命令结构:/dmk分析 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/dmk分析 uid:3709626 或 /DMK分析 Love丶伊卡洛斯 bot返回内容(图片): /blg查弹幕 或 /BLG查弹幕命令结构:/blg查弹幕 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/blg查弹幕 uid:3709626 或 /BLG查弹幕 Love丶伊卡洛斯 bot返回内容(图片): /blg查入场 或 /BLG查入场命令结构:/blg查入场 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/blg查入场 uid:3709626 或 /BLG查入场 Love丶伊卡洛斯 bot返回内容(图片): /blg查礼物 或 /BLG查礼物命令结构:/blg查礼物 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/blg查礼物 uid:3709626 或 /BLG查礼物 Love丶伊卡洛斯 bot返回内容(图片): /blg直播记录 或 /BLG直播记录命令结构:/blg直播记录 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/blg直播记录 uid:3709626 或 /BLG直播记录 Love丶伊卡洛斯 bot返回内容(图片): /blg直播间sc 或 /BLG直播间SC命令结构:/blg直播间sc (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/blg直播间sc uid:3709626 或 /BLG直播间SC Love丶伊卡洛斯 bot返回内容(图片): /icu查直播 或 /ICU查直播 或 /matsuri查直播命令结构:/icu查直播 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/icu查直播 uid:3709626 或 /ICU查直播 Love丶伊卡洛斯 bot返回内容(图片): /lap查用户 或 /LAP查用户命令结构:/lap查用户 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/lap查用户 uid:387636363 或 /LAP查用户 雫るる bot返回内容(图片): /lap查牌子 或 /LAP查牌子命令结构:/lap查牌子 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/lap查牌子 uid:387636363 或 /LAP查牌子 雫るる bot返回内容(图片): /lap查充电 或 /LAP查充电命令结构:/lap查充电 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/lap查充电 uid:387636363 或 /LAP查充电 雫るる bot返回内容(图片): /lapdd 或 /LAPDD 或 /lapdd排行榜命令结构:/lapdd 搜索类型(默认0: 月供,1: 总督,2: 提督,3:舰长) 例如:/lapdd 或 /lapdd 1 或 /LAPDD 舰长 bot返回内容(图片): /zero查用户 或 /ZERO查用户命令结构:/zero查用户 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/zero查用户 uid:387636363 或 /ZERO查用户 雫るる bot返回内容(图片): /zero被关注 或 /ZERO被关注命令结构:/zero被关注 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/zero被关注 uid:387636363 或 /ZERO被关注 雫るる bot返回内容(图片): 斗虫 或 主播pk 或 主播PK命令结构:斗虫|主播pk|主播PK 用户1的uid或昵称关键词 用户2的uid或昵称关键词 用户n的uid或昵称关键词 #当天向过去偏移天(起始) 当天向过去偏移天数(结尾) 注意:#和后面的日期偏移可以默认不填,不填写的话默认是一个月前到今天的数据。另外,传入的用户必须大于等于2人以上。(日期偏移其实就是数据区间啦) 例如:斗虫 雫酱 neol 或 斗虫 雫酱 neol #5 0 或 主播pk 雫酱 雫 #15 0 bot返回内容(图片): eh查直播 或 诶嘿查直播 或 eihei查直播命令结构:/eh查直播 (uid:或UID:或:或:)+用户uid或昵称关键词 例如:/诶嘿查直播 uid:3493132603754688 或 /诶嘿查直播 罗亚Roya bot返回内容(图片): /vtb网站命令结构:/vtb网站 或 /vtb资源 例如:/vtb网站 或 /vtb资源 bot返回内容: VTB数据看板:https://ikaros-521.gitee.io/vtb_data_board/ matsuri:https://matsuri.icu/ danmakus:https://danmakus.com/ vtbs.fun:http://www.vtbs.fun/ biligank:https://biligank.com/ 火龙榜:https://huolonglive.com/#/ vtbs.moe:https://vtbs.moe/ vup.loveava.top:https://vup.loveava.top/ranking ddstats:https://ddstats.ericlamm.xyz/ zeroroku:https://zeroroku.com/bilibili laplace:https://laplace.live/ ⚙ 拓展启用关键词搜索,需要在.env.xx中配置自己的cookie。 命令修改: 昵称自定义,修改data.py,在文件头部追加你需要定义的用户的json串,注意json格式!!! 命令自定义,修改__init__.py,catch_str = on_command这部分的代码即可。 bot返回内容格式修改对应的msg、out_str变量的内容 📝 更新日志 展开/收起 0.0.1 插件初次发布 0.1.0 更新基于vtbs.moe的主播数据,添加关键词搜索功能 1.0.0新增以下功能(其实是LX_Bot的相关命令融进来了) /查 昵称关键词 /查直播 昵称关键词 场次数 /查舰团 昵称关键词 /查昵称 昵称关键词 /查收益 收益类型(默认1: 礼物,2: 上舰,3: SC) 用户uid或昵称关键词 倒叙第n场(从0开始) /查成分 观看 昵称关键词 /查成分 弹幕 查询的目标人 查询的主播 页数 条数 1.0.4优化针对uid解析方式 1.0.5修改cookie配置从env获取,方便用户配置 1.0.6修复 /查成分 弹幕 数据解析bug; 优化整体代码实现; 1.1.0新增功能 /营收 日/周/月榜 人数(不填默认100) 1.2.0弃用requests库,改为aiohttp 1.2.1修复查命令aiohttp适配性bug 1.3.0修改 查成分 弹幕 和 查成分 观看 命令为 查弹幕 和 查观看。 优化命令解析实现。 修复查弹幕数据解析bug。 1.3.1新增 /查弹幕2 命令。 修复查弹幕数据解析bug。 图片UI优化。 1.3.2优化 /查弹幕2 命令,增加主播名。 1.3.3修复 /查观看 因为数据源有同一用户名不同uid的情况导致的越界bug。 1.3.4优化异常报错的处理。 优化UI设计和部分功能。 1.3.5新增/查收益 xx 舰长和uid:的匹配。(但是舰长仍然是所有上舰数据) 1.3.6优化API挂彩时候的异常捕获处理。 1.3.7插件补充元信息。 1.3.8新增vtb网站 或 vtb资源 命令(命令前缀自行添加) 1.3.9补充2个VTB资源站点 1.3.10适配vtbs.fun的营收接口变动 1.4.0修改on_keyword为on_command,从而适配自定义的命令前缀 1.4.1修改danmakus.com到新域名danmakus.com,接口也同步替换了。 1.4.2新增markdown的特殊字符过滤和文本超长换行。 ps:vtbs.fun挂了,营收功能暂时无法使用。 1.4.3vtbs.fun活了,加了ssl,已兼容。 1.4.4新增命令 涨粉,接口源自vtbs.fun(和营收 基本一致) 1.4.5新增命令 DD风云榜,接口源自ddstats-api.ericlamm.xyz 1.4.6补充遗漏的插件元信息 1.4.7新增功能 查牌子,数据源自本地爬取(vtbs.moe中主播牌子信息,共4273条数据) 1.4.8补充插牌子遗漏的1条数据 1.4.9补充遗漏的 vtb网站 功能元信息 1.4.10新增功能v详情 dmk查用户 dmk查直播,直接采用浏览器页面截图形式返回结果。(流量消耗会多一些,酌情使用) 1.4.11延长v详情 dmk查用户 dmk查直播的请求超时至5min(服务器4M跑也超时,功能很吃紧) 1.4.12追加最新的vtbs.moe的主播信息,并同步更新了牌子信息。 缩短v详情 dmk查用户 dmk查直播的请求超时至2min(前面是对面服务器炸了) 1.4.13优化请求错误或无数据时的消息返回和日志打印。 1.5.0新增功能blg查弹幕 blg查入场 blg查礼物 blg直播记录 blg直播间sc,直接采用浏览器页面截图形式返回结果。(流量消耗会多一些,酌情使用) 1.5.1新增4000+的用户数据和牌子数据 1.5.2新增b站用户数据至10w 新增粉丝牌数据至4w+ 1.5.3新增网站laplace.live 新增icu查直播命令,同样是playwright的直接加载 1.5.4新用户数据爬自b站直播间各大分区列表,比起直接uid爬全站更具有针对性,实际效果也很好。 新增b站用户数据至23w+ 新增粉丝牌数据至6.7w+ 1.5.5由于出现低配置设备内存不足导致的无法启动问题,已将本地数据data.py清空至一个demo配置。如有本地配置需要的可以去旧版获取。 1.5.6新增粉丝牌数据至8.6w+,爬了一周的直播页,正式收工。 1.5.7新增命令查人气,用于查询b站主播最近一场直播的人气峰值 1.5.8新增lap查用户命令,同样是playwright,并做了js内嵌 1.5.9优化lap查用户的内容加载样式,显示内容更加全面(也更卡,乐) 1.5.10增加耗时的网页截图查询反馈,优化异常处理,不让你的人生浪费在等待中 1.5.11新增zero查用户命令,同理 1.5.12修复文档描述错误(不影响功能,暂不发版) 文档新增目录 1.5.13新增lap查牌子命令,调用laplace.live的接口,全站太卡了,绷 1.5.14修复lap查牌子接口返回uid固定问题导致的显示错误 优化文档 1.5.15升级查观看功能,统计观看次数。 1.5.16新增查观看2命令(查观看plus版),统计观看次数,以饼图形式返回。 1.5.17优化网页截图相关功能的图片存储名,减少短时间多请求导致的数据覆盖问题 修复查观看2的提示语延迟问题 修订文档错误 1.5.18新增lap查充电命令,查询up的充电排行榜。 新增zero被关注命令,查询用户的被哪些知名up主关注。 升级查观看2的主题为夜间模式,增加高级感。 1.6.0对类似的GET请求做了优化,降低代码冗余。 1.6.1删除lap查用户的小作文 1.6.21、新增以下命令: /v直播势 (大写也可以) /v急上升 (大写也可以) /v急下降 (大写也可以) /v舰团 (大写也可以) /vdd (大写也可以) /v宏观 (大写也可以) 2、优化异常处理 1.6.3优化v详情的请求延时,帮助数据加载。 1.6.4新增查装扮命令。 优化文档排序。 1.6.51.v详情增加别名v详细。 2.修复查收益的传参bug。 3.优化代码实现,增加提示互动。 1.6.61.修复查弹幕和查弹幕2的bug(让GPT帮忙写,很好,bug写得不错) 1.6.71.命令文本消息内容改艾特为回复。 2.新增命令lapdd或lapdd排行榜,截图laplace.live的dd页面。 3.优化说明文档。 1.6.8修复lapdd命令不传参的bug。 1.6.9新增正则匹配的斗虫玩法,具体看命令说明。 1.7.0修复htmlrender导入问题。 1.7.1新增命令eh查直播或诶嘿查直播。 1.7.2修改eh查直播的请求地址为http,服务器上跑证书不行,绷。 1.7.3修改eh查直播为playwright,难绷。 1.7.4修改eh查直播为直接请求,不过跳过了ssl。 1.7.5bug修复 1.7.6查命令,追加返回用户主页和直播间链接。 1.7.7新增dmk分析功能,由danmakus分析用户观看弹幕等数据。 1.7.8修复lap查用户的使用(Laplace加了cf校验,危) 修复danmakus的接口失效问题。 致谢 nonebot-plugin-htmlrender - 图片合成的好手 danmakus.com - b站主播、用户弹幕直播信息等来源(开放API接口很赞!) vtbs.moe - VTB本地数据信息来源(还有数据提供,TQL) laplace.live - 也是b站主播用户查询站点,部分数据也是源自danmakus,UI不错 项目打包上传至pypi官网:https://pypi.org,注册账号,在系统用户根目录下创建`.pypirc`,配置 [distutils] index-servers=pypi [pypi] repository = https://upload.pypi.org/legacy/ username = 用户名 password = 密码 poetry # 参考 https://www.freesion.com/article/58051228882/ # 1、安装poetry pip install poetry # 2、初始化配置文件(根据提示填写) poetry init # 3、微调配置文件pyproject.toml # 4、运行 poetry install, 可生成 “poetry.lock” 文件(可跳过) poetry install # 5、编译,生成dist poetry build # 6、发布 poetry publish twine # 参考 https://www.cnblogs.com/danhuai/p/14915042.html #创建setup.py文件 填写相关信息 # 1、可以先升级打包工具 pip install --upgrade setuptools wheel twine # 2、打包 python setup.py sdist bdist_wheel # 3、可以先检查一下包 twine check dist/* # 4、上传包到pypi(需输入用户名、密码) twine upload dist/* 目录自动生成doctoc,在本地git存储库中生成降价文件的目录。链接通过命令行标志兼容github或其他网站生成的锚。 安装进入包含本地git项目的目录,键入: npm install -g doctoc 使用在README.md中,找个生成目录位置,写入如下代码,确认生成位置: cmd输入命令即可:doctoc /path/to/file 例如:doctoc README.md |
CopyRight 2018-2019 实验室设备网 版权所有 |