Skip to content

kirayomato/vtb_dynamic_push

Repository files navigation

vtb_dynamic_push

简介

定时检测指定B站的动态更新,直播开播和微博更新。如果发生变化进行推送

本项目基于nfe-wbili_dynamic_pushweibo_dynamic_push进行开发,推荐使用本项目前先阅读原项目有关介绍

本项目在原项目的基础上增加了多项功能

  1. 支持填写Cookie,获取仅粉丝可见内容,且在Cookie失效时进行提示

    检测微博Cookie是否有效的原理为如果获取的微博列表中存在仅粉见微博,则说明有效,需要提供一个最近发过粉见微博的账号

    目前B站动态必须填写Cookie才能获取,查询直播暂不需要

  2. Windows弹窗推送,更加方便桌面用户使用,效果如图

    推送示例

    点击消息或下方按钮即可打开对应动态/直播间链接

    推送通知使用win11toast库实现,只支持Windows10Windows11

  3. 微博和动态检测功能增加头像、签名变化的检测。直播检测功能增加直播间标题、封面变化的检测

  4. 通过检测微博数量变化实现监测是否发布或删除了目前不可见的微博;支持检测用户删除了微博或动态。(由于微博api可能返回错误数据所以结果不一定正确)

  5. 其他更多功能请参考配置

运行环境

使用教程

0. 下载

Releases下载最新版本代码压缩包并解压到一个文件夹中

1. 填写config.ini配置信息

首先将文件config.ini.example重命名为config.ini,并依照如下格式填写参数 scheduler下的参数

  • enable 是否根据活跃度调整轮询间隔,启用时,轮询间隔会根据动态的活跃度动态调整,活跃度标准为七日内动态数
  • max_weight 单个ID最大权重,轮询间隔为 sum(weights)/weight*intervals_second

weibo下的参数

  • enable_dynamic_push是否启用微博推送
  • uid_list需要扫描的博主uid列表,使用英文逗号分隔
  • intervals_second每个UID扫描间隔秒数,每轮间隔为intervals*len(uid_list),不建议过于频繁,否则可能触发风控
  • enable_cookie_check是否启用cookie检测功能,默认关闭
  • cookie_check_uid检测cookie使用的账号,默认为Hitomi浅川瞳poi,需要关注,检测原理为判断是否获取到粉见微博,要求最近25条微博中包含粉见微博。

bili下的参数

  • enable_dynamic_push是否启用B站动态推送

  • dynamic_uid_list需要扫描动态的up主uid列表,使用英文逗号分隔

  • dynamic_intervals_second每个UID扫描间隔秒数,每轮间隔为intervals*len(uid_list),不建议过于频繁,否则可能触发风控

  • enable_living_push是否启用开播推送

  • dynamic_uid_list需要扫描直播的up主uid列表,使用英文逗号分隔。注意是uid而不是直播间号

  • special_list特别关注列表,在其中的up主开播时推送将会增加响铃,需要同时填写在live_uid_list

  • live_intervals_second直播扫描间隔秒数,不建议设置太频繁,否则可能触发风控

afd下的参数

  • enable_dynamic_push是否启用爱发电推送
  • uid_list爱发电查询uid列表,使用英文逗号分隔
  • intervals_second每个UID扫描间隔秒数,每轮间隔为intervals*len(uid_list),不建议过于频繁,否则可能触发风控

push_serverChan下的参数

push_gotify下的参数

  • enable是否启用gotify推送
  • gotify_urlgotify推送地址
  • gotify_tokengotify推送token

push_pushplus下的参数

push_wechat下的参数

  • enable是否启用微信推送
  • corp_id企业id
  • agent_id应用id
  • corp_secret应用Secret

push_dingtalk下的参数

  • enable是否启用钉钉bot推送
  • access_token机器人access_token

scheduler下的参数

  • enable 是否根据活跃度调整轮询间隔,开启后会根据账号七日内的动态数量分配轮询权重,越活跃的账号将检测更频繁
  • max_weight 每个账号的最大权重,范围为 [1, 20]

image_proxy下的参数

  • enable 是否启用图片反代服务。由于微博图片限制headers,在推送中直接使用图片链接将会无法显示图片,需要使用反代服务
  • proxy_host 格式 {IP}:{PORT} 图片链接会被替换为 http://{proxy_host}/proxy?url={image_url} 需要接收信息的一方可以访问到 proxy_host

2.填写Cookie

BiliCookies.json文件中填写b站Cookie,在WeiboCookies.json文件中填写微博Cookie

微博Cookie需要在 https://m.weibo.cn/ 中登陆进行获取,有时候即使已经登陆了获取的Cookie也会出现不完整的情况,需要重新登陆

Cookie要求为json格式,结构如下

[
{
    "name1": xxx,
    "value1": xxx
},
{
    "name2": xxx,
    "value2": xxx
},
......
]

推荐使用EditThisCookie插件,导出后全部复制进去即可

3.安装第三方库

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

4.启动脚本

python main.py

启动图片反代服务 python image_proxy.py

打开 http://localhost:5000/访问简易web界面

声明

  • 本仓库发布的vtb_dynamic_push项目中涉及的任何脚本,仅用于测试和学习研究,禁止用于商业用途
  • kirayomato 对任何脚本问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害
  • 以任何方式查看此项目的人或直接或间接使用vtb_dynamic_push项目的任何脚本的使用者都应仔细阅读此声明
  • kirayomato 保留随时更改或补充此免责声明的权利。一旦使用并复制了任何相关脚本或vtb_dynamic_push项目,则视为已接受此免责声明
  • 本项目遵循MIT LICENSE协议,如果本声明与MIT LICENSE协议有冲突之处,以本声明为准

About

B站动态/直播监测和微博监测推送工具

Resources

License

Stars

11 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors