Douyu Live
插件简介
AstrBot 斗鱼直播通知插件,支持多房间监控、订阅推送、@全体成员、礼物播报、数据持久化等功能。适用于 QQ 群、私聊等多平台,助你不错过任何开播时刻!
功能特性
- 多房间监控:同时监控多个斗鱼直播间,自动检测开播
- 订阅推送:用户可自主订阅/取消订阅,精准推送到群/私聊
- @全体成员:支持开播时自动 @全体成员(可选)
- 礼物播报:支持直播间礼物实时播报,可过滤低价值礼物
- 下播通知:自动推送下播提醒并附带当次直播时长
- 抗抖动机制:内置状态冷却、重试与自动恢复,避免重复或漏报
- 自动获取主播名:添加房间时自动从斗鱼获取主播名称
- 数据持久化:监控与订阅数据自动保存,重启不丢失
- 权限控制:添加/删除直播间需管理员权限
- 状态查询:随时查看监控与订阅状态
安装与配置
安装插件
将本插件目录放入 AstrBot 的
data/plugins/目录下:data/plugins/astrbot_plugin_douyu_live/ ├── main.py ├── metadata.yaml ├── requirements.txt ├── core/ ├── models/ ├── storage/ └── utils/重启/重载 AstrBot
在 WebUI 重载插件,或直接重启 AstrBot。AstrBot 会自动安装所需依赖(
pydouyu、httpx)。
命令列表
管理员命令
| 命令 | 说明 | 示例 |
|---|---|---|
/douyu add <房间号> [名称] |
添加监控直播间 | /douyu add 12725169 某主播 |
/douyu del <房间号> |
删除监控直播间 | /douyu del 12725169 |
/douyu atall <房间号> [on/off] |
设置 @全体成员 | /douyu atall 12725169 on |
/douyu gift <房间号> [on/off] |
开启/关闭礼物播报 | /douyu gift 12725169 on |
/douyu giftfilter <房间号> [on/off] |
开启/关闭高价值过滤 | /douyu giftfilter 12725169 off |
/douyu restart [房间号] |
重启监控 | /douyu restart |
普通用户命令
| 命令 | 说明 | 示例 |
|---|---|---|
/douyu ls |
查看监控列表 | /douyu ls |
/douyu sub <房间号> |
订阅直播间通知 | /douyu sub 12725169 |
/douyu unsub <房间号> |
取消订阅 | /douyu unsub 12725169 |
/douyu mysub |
查看我的订阅 | /douyu mysub |
/douyu status |
查看监控状态 | /douyu status |
使用示例
添加直播间(管理员)
/douyu add 12725169
不提供名称时,插件会自动从斗鱼获取主播名称。
用户订阅
/douyu sub 12725169
开启礼物播报
/douyu gift 12725169 on
默认只播报高价值礼物(飞机及以上),如需播报所有礼物:
/douyu giftfilter 12725169 off
开启 @全体成员
/douyu atall 12725169 on
查看监控状态
/douyu status
通知样例
开播通知
@全体成员
斗鱼直播开播通知
━━━━━━━━━━━━━━
主播: 某主播
房间号: 12725169
时间: 2024-01-01 20:00:00
链接: https://www.douyu.com/12725169
━━━━━━━━━━━━━━
快去观看吧!
礼物播报
斗鱼直播礼物播报
━━━━━━━━━━━━━━
直播间: 某主播
用户: 土豪用户
礼物: 火箭 x1
时间: 20:30:45
下播通知
斗鱼直播下播通知
━━━━━━━━━━━━━━
主播: 某主播
房间号: 12725169
本次直播时长: 45分钟
下播时间: 2025-12-02 21:02:53
━━━━━━━━━━━━━━
感谢观看,下次再见!
数据存储
插件数据默认存储于:
data/plugin_data/astrbot_plugin_douyu_live/douyu_live_data.json
数据结构示例:
{
"subscriptions": {
"12725169": ["default:GroupMessage:123456789"]
},
"room_info": {
"12725169": {
"name": "主播名称",
"added_by": "管理员ID",
"added_time": "2024-01-01 12:00:00",
"at_all": true,
"gift_notify": true,
"high_value_only": true
}
}
}
常见问题
Q: 监控启动失败
A: 检查房间号是否正确、网络是否可用,并查看 AstrBot 日志获取详细错误。
Q: @全体成员 不生效
A: 请确保已开启 @全体成员,且机器人有群管理员权限,群设置允许 @全体成员。
Q: 收不到开播通知
A: 检查监控状态、订阅状态,必要时重启监控。
Q: 礼物播报太频繁
A: 使用 /douyu giftfilter 房间号 on 开启高价值过滤,只播报飞机及以上的礼物。
Q: 重复收到通知
A: 可能因主播频繁开关播或插件重启导致,属正常偶发现象。
相关链接
许可证
Copyright (C) 2025 GEMILUXVII
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.
