本項目基於:初叶🍂 MetingAPI 点歌插件
基于 MetingAPI 的点歌插件,支持QQ音乐、网易云、酷狗、酷我等音源
Tip
本項目的開發是以通用設計為主 未來會改進處理方式
- 不再下載並產生本地緩存檔案。
- 所有音訊資料直接保存在 記憶體 (Memory) 中處理。
- 避免任何磁盤 I/O 讀寫操作。
- 減少磁盤壽命消耗與不必要的資源占用。
- 提供用戶選項:
不進行下載與轉碼處理。 - 插件僅回傳 API 提供的 最終音訊網址。
- 插件不參與:
- 下載
- 上傳
- 暫存處理
- 解決問題:
- 浪費磁盤 I/O
- 浪費上傳帶寬
- 提供音訊轉碼與壓縮參數配置:
- Bitrate
- Codec
- 音訊品質設定
- 讓最終發送的語音訊息:
- 檔案更小
- 更節省流量
- 更適合傳送
插件未來支援三種模式:
- 直接回傳 API 音訊網址
- 不下載
- 不轉碼
- 不佔用伺服器資源
- 音訊下載至記憶體
- 不寫入磁盤
- 可選轉碼後再發送
- 下載至記憶體
- 進行音訊壓縮
- 發送更小的語音訊息
當前版本:v1.1.0
可設定檔案處理成常見檔案格式:mp3,wav
当前版本:v1.0.8
Warning
· 因 AstrBot 旧版本缺失对 JSON 消息的兼容性,所以要使用音乐卡片功能,您必须确保您的 AstrBot 版本在 4.17.6 以上。
· 在遇到问题时,请打开 DEBUG 日志并检查插件输出的兼容性检查结果。
· 如果需要帮助,提交 ISSUE 时请附带插件日志,和插件输出的兼容性检查结果,并说明目前 AstrBot 版本及插件版本。
- 音乐卡片功能默认开启
- 开启后,用户输入“搜歌 xxx(歌名)”,再次输入“点歌 x(搜索列表歌曲位置,数字排列)”,会收到包含音乐信息的卡片,点击卡片的歌曲封面上的播放按钮可以直接播放音乐
- 支持多音源:QQ音乐、网易云、酷狗、酷我(具体需要 API 支持)
- 会话级音源切换,不影响其他会话
- 智能语音分段发送,自动处理超过2分钟的歌曲
- 支持音乐卡片显示(可选)
- 快捷点歌指令,直接指定音源搜索
- 简单易用的命令交互
- 支持两种 API 类型,并支持自定义调用参数,最大限度兼容各种 MetingAPI
- (1)将插件目录
astrbot_plugin_meting放入 AstrBot 的data/plugins目录 (2)WebUI中从链接安装:https://github.com/chuyegzs/astrbot_plugin_meting/ - 在 AstrBot WebUI 的插件管理处启用该插件
- 在插件配置中设置 MetingAPI 地址和类型
在 AstrBot WebUI 的插件配置页面中,设置以下参数:
API 地址
-
描述:选择你適合的 MetingAPI 或自定义
-
可选值:
https://musicapi.chuyel.top/meting/- 初叶🍂竹叶 Furry API(带QQ音乐/网易云会员)https://metingapi.nanorocky.top/- 呆呆酪灰的 MetingAPIhttps://musicapi.chuyel/api/- 這個應該也是初叶的 但應該是免費版本的大概custom- 自定义 API 你自己架的MetingAPI或指向某人架的
-
默认:
https://musicapi.chuyel.top/meting/
MetingAPI 以上可選值API 不保證會一直有效
若未來 某API停用了停運了 還請自己更替到自定義API
也就是要嗎指向你自己架的MetingAPI
API 类型(仅在 API 地址为 custom 时生效)
- 描述:选择 MetingAPI 的类型
- 可选值:
1- Node API(默认):标准 MetingAPI2- PHP API:使用keyword参数传递搜索词3- 自定义参数:使用占位符构建请求
- 默认:
1
自定义 API 地址(仅在 API 地址为 custom 时生效)
- 描述:自定义 MetingAPI 地址
- 示例:
https://api.example.com/meting
自定义 API 模板(仅在 API 类型为 3 时生效)
- 描述:自定义请求模板,必须包含
:server、:type、:id、:r占位符 - 示例:
server=:server&type=:type&id=:id&r=:r
默认音源
- 描述:默认使用的音乐平台
- 可选值:
tencent(QQ音乐)、netease(网易云)、kugou(酷狗)、kuwo(酷我) - 默认:
netease
使用音乐卡片
- 描述:是否使用音乐卡片显示搜索结果
- 默认:
false
音乐卡片签名地址
- 描述:用于获取音乐卡片签名的 API 地址
- 默认:
https://oiapi.net/api/QQMusicJSONArk/
搜索结果显示数量
- 描述:搜索结果显示的歌曲数量
- 范围:5-30
- 默认:10
发送以下任一指令查看所有可用命令:
点歌指令
在当前会话中切换音乐平台,不影响其他会话:
切换QQ音乐- 切换到QQ音乐切换网易云- 切换到网易云切换酷狗- 切换到酷狗切换酷我- 切换到酷我
使用当前会话的音源搜索歌曲:
搜歌 一期一会
搜索后会显示歌曲列表,包含歌曲名和歌手信息。
在搜索结果后,使用以下命令播放指定序号的歌曲:
点歌 1
其中 1 是歌曲序号(如:点歌 1、点歌 2、点歌 3...)。
注意:点歌 和数字之间必须有空格。
直接指定音源搜索并播放第一首歌曲:
网易点歌 一期一会
腾讯点歌 晴天
QQ点歌 稻香
酷狗点歌 演员
酷我点歌 告白气球
这些快捷指令会忽略当前会话的音源设置,直接在指定平台搜索。
如果启用了音乐卡片功能(use_music_card: true),搜索结果将以精美的卡片形式展示,包含:
- 歌曲封面
- 歌曲名称和歌手
- 点击跳转链接
插件需要以下依赖库(会在安装插件时自动安装):
aiohttp>=3.8.0- 异步 HTTP 请求pydub>=0.25.1- 音频处理packaging- 版本解析
注意:pydub 需要系统安装 FFmpeg。请确保系统已安装 FFmpeg 并在 PATH 中。
Windows:
# 使用 winget
winget install ffmpeg
# 或手动下载:https://ffmpeg.org/download.htmlLinux (Ubuntu/Debian):
sudo apt-get update
sudo apt-get install ffmpegmacOS:
brew install ffmpeg| 用户输入 | API 参数 |
|---|---|
| QQ音乐 | tencent |
| 网易云 | netease |
| 酷狗 | kugou |
| 酷我 | kuwo |
1. Node API(默认)
- 标准 MetingAPI 格式
- 请求地址:
{api_url}/api?server={server}&type={type}&id={id}
2. PHP API
- PHP 版本 MetingAPI
- 请求地址:
{api_url}?server={server}&type=search&id=0&keyword={keyword}&dwrc=false
3. 自定义参数
- 完全自定义请求格式
- 支持占位符:
:server、:type、:id、:r
QQ 语音时长上限为2分钟,插件会自动将长歌曲分割为多个片段:
- 每段时长:可配置(默认120秒)
- 格式:WAV
- 发送方式:逐段发送
- 会话音源设置存储在内存中,重启后恢复为默认音源
- 搜索结果临时存储在内存中,仅用于当前会话
- 下载的音频文件存储在系统临时目录,播放完成后自动删除
A: 请在 AstrBot WebUI 的插件配置页面中选择或填写正确的 MetingAPI 地址。
A: 请检查:
use_music_card是否设置为trueapi_sign_url是否配置正确- 签名服务是否可用
A: 请检查:
- MetingAPI 地址是否正确
- API 类型是否匹配
- 网络连接是否正常
A: 请确保已安装 FFmpeg,并重新安装插件依赖。
astrbot_plugin_meting/
├── main.py # 插件主代码
├── metadata.yaml # 插件元数据
├── _conf_schema.json # 配置文件 Schema
├── requirements.txt # Python 依赖
├── README.md # 说明文档
├── LICENSE # 许可证
└── .gitignore # Git 忽略文件
欢迎提交 Issue 和 Pull Request!
MIT License
- 初叶🍂MetingAPI - 初叶🍂二次开发的MetingAPI
- MetingAPI - 音乐 API 服务
- AstrBot - AstrBot机器人框架
- NanoRocky - 功能添加与代码优化,部分功能的贡献者
此分支不屬於原分支修改範疇 已屬於獨立分支 後續維護反饋修改
你可以選擇開 Issue 和 Pull Request!
或者直接到Discord群反饋