NCM Song Searcher
Project description
📖 介绍
一个网易云多选点歌插件,可以翻页,可以登录网易云账号点 vip 歌曲听(插件发送的是自定义音乐卡片),没了
插件获取的是音乐播放链接,不会消耗会员每月下载次数
效果图
歌曲列表效果图(点击展开)
电台列表效果图(点击展开)
歌词效果图(点击展开)
💿 安装
以下提到的方法 任选其一 即可
[推荐] 使用 nb-cli 安装
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装nb plugin install nonebot-plugin-multincm
使用包管理器安装
在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令pip
pip install nonebot-plugin-multincm
pdm
pdm add nonebot-plugin-multincm
poetry
poetry add nonebot-plugin-multincm
conda
conda install nonebot-plugin-multincm
打开 nonebot2 项目根目录下的 pyproject.toml
文件, 在 [tool.nonebot]
部分的 plugins
项里追加写入
[tool.nonebot]
plugins = [
# ...
"nonebot_plugin_multincm"
]
⚙️ 配置
如果你安装了 nonebot-plugin-ncm,本插件会与其共用同一个 Session,就可以不用填下面的账号密码了
下面配置中,手机号登录 和 邮箱登录、明文密码 和 MD5 密码哈希 各选其一填写即可
在 nonebot2 项目的 .env
文件中添加下表中的必填配置
配置项 | 必填 | 默认值 | 说明 |
---|---|---|---|
NCM_CTCODE |
否 | 86 |
手机号登录用,登录手机区号 |
NCM_PHONE |
否 | 无 | 手机号登录用,登录手机号 |
NCM_EMAIL |
否 | 无 | 邮箱登录用,登录邮箱 |
NCM_PASSWORD |
否 | 无 | 帐号明文密码,邮箱登录时为邮箱密码 |
NCM_PASSWORD_HASH |
否 | 无 | 帐号密码 MD5 哈希,邮箱登录时为邮箱密码 |
NCM_LIST_LIMIT |
否 | 20 |
歌曲列表每页的最大数量 |
NCM_LIST_FONT |
否 | 无 | 渲染歌曲列表使用的字体 |
NCM_MAX_NAME_LEN |
否 | 600 |
歌曲列表中歌名列的最大文本宽度(像素) |
NCM_MAX_ARTIST_LEN |
否 | 400 |
歌曲列表中歌手列的最大文本宽度(像素) |
NCM_MSG_CACHE_TIME |
否 | 3600 |
缓存 Bot 已发送音乐卡片的音乐 ID 及 用户最近一次操作 的时长(秒) |
NCM_AUTO_RESOLVE |
否 | False |
当用户发送音乐链接时,是否自动解析并发送音乐卡片 |
NCM_ILLEGAL_CMD_FINISH |
否 | False |
当用户在点歌时输入了非法指令,是否直接退出点歌 |
NCM_USE_PLAYWRIGHT |
否 | False |
是否使用 playwright 绘制歌曲列表与歌词图片 |
NCM_LRC_EMPTY_LINE |
否 | -------- |
填充歌词空行的字符 |
NCM_DELETE_LIST_MSG |
否 | True |
是否在退出点歌模式后自动撤回歌曲列表 |
NCM_DELETE_LIST_MSG_DELAY |
否 | [0.5, 2.0] |
自动撤回歌曲列表消息间隔时间(单位秒) |
🎉 使用
指令
- 点歌 [歌曲名 / 音乐 ID]
- 介绍:搜索歌曲。当输入音乐 ID 时会直接发送对应音乐
- 别名:
网易云
、wyy
- 电台 [歌曲名 / 节目 ID]
- 介绍:搜索电台节目。当输入电台 ID 时会直接发送对应节目
- 别名:
声音
、网易电台
、wydt
、wydj
- 解析 [回复 音乐卡片 / 链接]
- 介绍:获取该 音乐 / 电台节目 的播放链接并使用自定义卡片发送
- 别名:
resolve
、parse
、get
- 歌词 [回复 音乐卡片 / 链接]
- 介绍:获取该音乐的歌词,以图片形式发送
- 别名:
lrc
、lyric
、lyrics
- 链接 [回复 音乐卡片]
- 介绍:获取 Bot 发送的音乐卡片的网易云链接
- 别名:
link
、url
Tip
- 点击 Bot 发送的音乐卡片会跳转到音乐直链,可以直接下载
- 使用需要回复音乐卡片的指令时,如果没有回复,会自动使用你触发发送的最近一个音乐卡片的信息
🤔 Q & A
Q: 我可以把插件变成单选点歌吗?
A: 可以,把配置项 NCM_LIST_LIMIT
设置为 1
即可。因为插件在检测到搜索结果仅有一个时,会将它直接发送出来。我们在这里利用了这个特性。
📞 联系
QQ:3076823485
Telegram:@lgc2333
吹水群:1105946125
邮箱:lgc2333@126.com
💡 鸣谢
mos9527/pyncm
项目使用的网易云 API 调用库
Binaryify/NeteaseCloudMusicApi
项目电台相关 API 来源
MeetWq/pil-utils
超好用的 Pillow 辅助库
💰 赞助
感谢大家的赞助!你们的赞助将是我继续创作的动力!
-
赞助二维码(点击展开)
📝 更新日志
0.3.8
- 修改及统一表格背景色
0.3.7
- 添加配置项
NCM_DELETE_LIST_MSG
和NCM_DELETE_LIST_MSG_DELAY
(#5)
0.3.6
- 支持使用
nonebot-plugin-htmlrender
(playwright
) 渲染歌曲列表与歌词图片(默认不启用,如要启用需要自行安装nonebot-plugin-multincm[playwright]
) - 添加配置项
NCM_USE_PLAYWRIGHT
与NCM_LRC_EMPTY_LINE
0.3.5
- 🎉 NoneBot 2.0 🚀
0.3.4
- 修复分割线下会显示歌词翻译的问题
0.3.3
- 新增配置项
NCM_ILLEGAL_CMD_FINISH
- 在未启用
NCM_ILLEGAL_CMD_FINISH
时输入错误指令将会提示用户退出点歌
0.3.2
- 新增配置项
NCM_MSG_CACHE_TIME
、NCM_AUTO_RESOLVE
- 调整登录流程到
driver.on_startup
中
0.3.1
- 修复电台相关 bug
0.3.0
- 支持电台节目的解析与点播
0.2.5
解析
、歌词
、链接
指令可以直接根据 Bot 发送的上个音乐卡片作出回应了- 歌词解析会合并多行空行和去掉首尾空行了
- 现在插件会定时清理自身内存中的缓存了
0.2.4
- 修复一个歌词解析 bug
0.2.3
- 微调歌曲列表排版
- 微调插件帮助文本
0.2.2
- 修复搜歌
KeyError
0.2.1
- 删除歌词尾部的空行与多余分割线
0.2.0
- 新增了三个指令
解析
、歌词
、链接
- 点歌指令支持直接输入音乐 ID
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nonebot_plugin_multincm-0.3.8.tar.gz
(236.6 kB
view hashes)
Built Distribution
Close
Hashes for nonebot_plugin_multincm-0.3.8.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddb9186bec008ca6aad1c0598fa10ce94ea8bc69f0b9a2051f77b5ca731155d9 |
|
MD5 | 2b71b1ea2d321013d7081f1fc44d3f09 |
|
BLAKE2b-256 | 0da12844963f86e6dfc8b09826081566adcfbd1bfdb912b5468ee0369a453575 |
Close
Hashes for nonebot_plugin_multincm-0.3.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f20b7c722634c4d8dd16bf0169df72362b0231467b3121f5debac37d7a6b455 |
|
MD5 | 55601b3932ce31a75c963e05c745f6da |
|
BLAKE2b-256 | e50f561adc77b6b9999593ae50226c620f745583b9bfd6e1a42080e4c94ba940 |