A plugin for nonebot2. Query Bilibili user information(一个Nonebot2的插件,b站用户信息查询插件【粉丝、舰团信息;直播收益数据;直播观看信息;关键词搜昵称、UID等】)
Project description
适用于nonebot2 v11的b站用户信息查询插件【粉丝、舰团信息;直播收益数据;直播观看信息;关键词搜昵称、UID等;主播营收榜单】
(ps:微调源码可以兼容其他版本)
调用的相关API源自b站官方接口、danmaku.suki.club和vtbs.fun
🔧 开发环境
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返回内容(图片):
/查弹幕
命令结构:/查弹幕 (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返回内容(图片):
/营收
命令结构:/营收 日/周/月榜 人数(不填默认100)
例如:/营收 日榜 3
或 /营收 月榜
bot返回内容(图片):
⚙ 拓展
启用关键词搜索,需要在env中配置自己的cookie。
命令修改:修改data.py,在文件头部追加你需要定义的用户的json串,注意json格式!!!
返回内容格式修改对应的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:
的匹配。(但是舰长仍然是所有上舰数据)
致谢
- nonebot-plugin-htmlrender - 图片合成的好手
- danmaku.suki.club - b站主播、用户弹幕直播信息等来源(开放API接口很赞!)
- vtbs.moe - VTB本地数据信息来源(还有数据提供,TQL)
项目打包上传至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/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for nonebot_plugin_searchbiliinfo-1.3.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed372a6aee407fee27f49661261172d0a74c77bc2d25362b9a90ed3d7c8b0bae |
|
MD5 | 7ba8c4ad293e65c1a70f5f99d73e4b14 |
|
BLAKE2b-256 | 91a1b7ec948ce149b87c36b3c31b29ab9acf2ae4a31f89e5d2b13e5027ec18a5 |
Hashes for nonebot_plugin_searchbiliinfo-1.3.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d0ee8d8586032be41f27b2549351ddf0288d60273fddb03e7f0e7b2a768ffa1 |
|
MD5 | b669e6fe206865af5580261b9c286adf |
|
BLAKE2b-256 | 3f06267d9ce9774126a303aaaa42820edd74f9f81fc35d94e3e8ec56261424b7 |