监控多个pandalive主播的直播状态,并发送开播、下播提醒消息的Telegram Bot。
项目地址:https://github.com/nbtu/pd-signal/ (普通版不需要账号)
根据此项目修改而来 https://github.com/juzeon/dd-signal ,使用安装请前往查看原项目
修改监控网站
移除vdb虚拟主播列表
增加黑白名单限制Bot的使用,默认whitelist/blacklist为空,所有人都可以使用bot,在index.js文件顶部添加黑白名单。
记录:
添加监控主播到关注列表,程序开始循环检测开播状态。
当前方法是循环检测主播页面信息,只监控不仅直播间抓取直播源,不需要登录账号。
观看直播使用5721004.xyz提供的页面,特殊房间也不一定能看到。
当添加新主播后会刷新关注列表,新主播会在下一轮循环才加入检测。
pandalive API限制较为严格,请求过快可能会导致封IP(一般封有一天),适当加大间隔时间。
使用感受:
我设置检测的隔间为20秒,运行半天IP被封了。
同时间隔大,检测数量多时,检测一轮耗时很久。
例如监控30个主播,间隔20秒,全部检测一次至少需要10多分钟,而且20秒还不是一个安全值。
此版本仅合适自建自用,监控较少主播。
todo
有账号使用Cookie登录可以改进监控方法,也可以增加抓源功能。
√增加命令添加黑白名单
已完成自用版
改进使用Cookie登录,一次获取能100个主播信息,大大地减少的请求数量,避免IP被封。
获取到数据后查询主播也变成在本地进行,循环间隔可以任意设置小数值,加快检测推送。
Cookie登录版:https://github.com/nbtu/pd-signal/tree/Cookie
下载:(https://github.com/nbtu/pd-signal/archive/refs/heads/Cookie.zip)
需要账号获取cookie:
修改index.js 第255行的填入你的cookie。(一般pandalive的cookie有效期较长)
--------------------------------------------------------------
部署
以在Linux上安装为例。
1.通过@BotFather申请机器人,并记录Telegram Bot API Token。
2.安装Node.js和npm,教程。(由于从几年前的项目修改而来,最好安装node 18以下版本)。
3.下载本项目,并安装依赖。
cd dd-signal/
npm install
4.运行程序。
node ./index.js --token "您的Telegram Bot API Token"
您可以设定更多参数:
--interval <IntervalBySec> - 可选,每次访问间隔的秒数,默认为20
--token <TelegramBotToken> - 必选,Telegram Bot Token
--proxy <HTTPProxy> - 可选,以 http:// 开头的代理
后台运行
您可以使用pm2后台运行程序。
npm install pm2 -g
# 在「--」之后,传入任何node参数
pm2 start ./index.js -- --token "您的Telegram Bot API Token"
pm2 logs
pm2使用教程参考:https://juejin.cn/post/6844903710037016584