MDClub
首页
注册

pandalive主播监控Telegram Bot。

admin
2024-05-14 15:34:15

监控多个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