Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

增强 #68

Open
wants to merge 43 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
48cb72a
重构项目
577fkj Feb 3, 2024
381e37e
更改描述
577fkj Feb 3, 2024
5279bf3
使用子模块
577fkj Feb 3, 2024
c6679a6
修复
577fkj Feb 3, 2024
b4d4552
修复获取歌手失败
577fkj Feb 4, 2024
d954e30
优化代码
577fkj Feb 4, 2024
d5e0291
优化播放列表
577fkj Feb 4, 2024
85ac618
修复手动播放歌曲重复播放
577fkj Feb 5, 2024
bd643df
修复歌曲获取失败后不会自动播放下一首
577fkj Feb 6, 2024
64da007
优化代码
577fkj Feb 8, 2024
06746f0
允许使用网址添加音乐和歌单
577fkj Feb 13, 2024
0339e2f
Remove UNM support
577fkj Feb 28, 2024
51a69a7
合并命令
577fkj Mar 2, 2024
5ddc276
添加无人自动暂停
577fkj Mar 2, 2024
8cff7ad
添加重载配置命令
577fkj Mar 2, 2024
ca0ca92
使用yml配置文件
577fkj Mar 2, 2024
6f7c3f8
修复Cookie为空也认为登录了
577fkj Mar 2, 2024
18c4c78
增加使用手机号登录
577fkj Mar 3, 2024
f2d2bba
修复刷新Cookie失败导致整个插件无法使用
577fkj Mar 3, 2024
46880f3
修复错误
577fkj Mar 20, 2024
93894a2
修复使用 "顺序播放" 和 "随机播放" 播放一首歌重复播放两次
577fkj Nov 1, 2024
b102e99
Create build.yml
577fkj Nov 1, 2024
556fad7
Update build.yml
577fkj Nov 1, 2024
f5ef335
Update build.yml
577fkj Nov 1, 2024
2a53496
Create dependabot.yml
577fkj Nov 1, 2024
94b9d9b
Bump YamlDotNet from 15.1.2 to 16.1.3 in /YunPlugin
dependabot[bot] Nov 1, 2024
405c025
Bump Newtonsoft.Json from 12.0.3 to 13.0.3 in /YunPlugin
dependabot[bot] Nov 1, 2024
0c2423f
Bump NLog from 4.7.3 to 5.3.4 in /YunPlugin
dependabot[bot] Nov 1, 2024
7d89e8f
Merge pull request #3 from 577fkj/dependabot/nuget/YunPlugin/NLog-5.3.4
577fkj Nov 1, 2024
8e7aa14
Merge branch 'main' into dependabot/nuget/YunPlugin/Newtonsoft.Json-1…
577fkj Nov 1, 2024
236e124
Merge pull request #2 from 577fkj/dependabot/nuget/YunPlugin/Newtonso…
577fkj Nov 1, 2024
4502fea
Merge branch 'main' into dependabot/nuget/YunPlugin/YamlDotNet-16.1.3
577fkj Nov 1, 2024
cba0f23
Merge pull request #1 from 577fkj/dependabot/nuget/YunPlugin/YamlDotN…
577fkj Nov 1, 2024
03cda18
修复报错
577fkj Nov 1, 2024
6da1c40
Update build.yml
577fkj Nov 1, 2024
af75d9c
Revert "修复报错"
577fkj Nov 1, 2024
2f23472
Update build.yml
577fkj Nov 1, 2024
f8e07ef
增加编译docker版本
577fkj Nov 1, 2024
803bd3a
修复音乐播放完成后签名还是当前歌曲信息
577fkj Nov 5, 2024
4608423
增加移动到所在频道
577fkj Nov 5, 2024
5a6c889
修复封面获取失败导致无法播放
577fkj Nov 5, 2024
3e6152f
修复无法禁用自动暂停
577fkj Nov 5, 2024
d1d9e84
文档更新
577fkj Nov 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "nuget" # See documentation for possible values
directory: "/YunPlugin" # Location of package manifests
schedule:
interval: "weekly"
40 changes: 40 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Build plugin

on:
push:
branches:
- main
workflow_dispatch:

jobs:
build:
runs-on: windows-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Download TS3AudioBot DLLs
run: |
Invoke-WebRequest -Uri "https://splamy.de/api/nightly/projects/ts3ab/master/download" -OutFile "ts3ab.zip"

- name: Extract DLLs
run: |
Expand-Archive -Path "ts3ab.zip" -DestinationPath "ts3ab"
Copy-Item "ts3ab/TS3AudioBot.dll" -Destination "YunPlugin/lib/TS3AudioBot.dll" -Force
Copy-Item "ts3ab/TSLib.dll" -Destination "YunPlugin/lib/TSLib.dll" -Force

- name: Restore NuGet packages
run: |
dotnet restore "YunPlugin/YunPlugin.sln"

- name: Build solution
run: |
dotnet build "YunPlugin/YunPlugin.sln" --configuration Release

- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
with:
name: YunPlugin-Build
path: |
YunPlugin/bin/Release/
30 changes: 30 additions & 0 deletions .github/workflows/build_docker_version.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Build plugin docker version

on:
push:
branches:
- main
workflow_dispatch:

jobs:
build:
runs-on: windows-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Restore NuGet packages
run: |
dotnet restore "YunPlugin/YunPlugin.sln"

- name: Build solution
run: |
dotnet build "YunPlugin/YunPlugin.sln" --configuration Release

- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
with:
name: YunPlugin-Docker-Build
path: |
YunPlugin/bin/Release/
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
YunPlugin/obj
YunPlugin/bin
YunPlugin/.vs
13 changes: 0 additions & 13 deletions ClassLibrary4.csproj

This file was deleted.

37 changes: 0 additions & 37 deletions ClassLibrary4.sln

This file was deleted.

140 changes: 76 additions & 64 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,93 +1,105 @@
# TS3AudioBot-NetEaseCloudmusic-plugin
>此插件基于Splamy/TS3AudioBot项目 https://github.com/Splamy/TS3AudioBot
>以及网易云音乐 API开发https://github.com/Binaryify/NeteaseCloudMusicApi
此插件安装方法同样见TS3AudioBot项目wiki
**2.0版本之后可以不需要本地部署网易云API了,但是强烈建议自行部署防止隐私泄露 **
**最好给音乐机器人超管权限保证能正常更新头像和描述**
# TS3AudioBot-NetEaseCloudmusic-plugin

## 关于2.0版本
似乎在播放列表的bug应该已经修复了,如果还有问题请github创建issue。
> 此插件基于 Splamy/TS3AudioBot 项目 https://github.com/Splamy/TS3AudioBot
> 以及网易云音乐 API 开发https://github.com/Binaryify/NeteaseCloudMusicApi
> 此插件安装方法同样见 TS3AudioBot 项目 wiki
> **2.0 版本之后可以不需要本地部署网易云 API 了,但是强烈建议自行部署防止隐私泄露 **
> **最好给音乐机器人超管权限保证能正常更新头像和描述**

## 关于设置文件YunSettings.ini
`playMode=`是播放模式
`WangYiYunAPI_Address`是网易云API地址,目前默认的是一个大佬的远程API,如果加载速度过慢或者无法访问,请自行部署API并修改API地址。(为了保护你的隐私强烈建议你自行部署API)
`cookies1=`是保存在你本地的身份验证,通过二维码登录获取。(不需要修改)
## 关于 2.0 版本

似乎在播放列表的 bug 应该已经修复了,如果还有问题请 github 创建 issue。

## 关于设置文件 YunSettings.yml

`version` 配置文件版本,不要更改!

`playMode` 是播放模式
- `SeqPlay` 顺序播放
- `SeqLoopPlay` 顺序循环
- `RandomPlay` 随机播放
- `RandomLoopPlay` 随机循环

`neteaseApi` 是网易云 API 地址

`isQrlogin` 是否验证码登录,用于判断是否需要刷新Cookie(不需要修改)
`cookieUpdateIntervalMin` 刷新Cookie间隔(分钟)

`autoPause` 无人时候自动暂停

`Header` 请求头配置
- `Cookie` 网易云Cookie
- `User-Agent` 请求UA
需要其他请求头可自行添加

## 目前的指令:

正在播放的歌单的图片和名称可以点机器人看它的头像和描述
vip音乐想要先登陆才能播放完整版本:(输入指令后扫描机器人头像二维码登陆)
`!yun login`
vip 音乐想要先登陆才能播放完整版本:
二维码登录:(输入指令后扫描机器人头像二维码登陆)
`!yun login qr`
验证码登录:
`!yun login sms [手机号] {验证码}`
- 先使用 `!yun login sms [手机号]` 获取验证码
- 在使用 `!yun login sms [手机号] {验证码}` 登录

双击机器人,目前有以下指令(把[xxx]替换成对应信息,**包括中括号**)
1.立即播放网易云音乐
`!yun play [音乐名称]`
`!yun play [音乐名称/音乐网址/音乐ID]`

2.添加音乐到下一首
`!yun add [音乐名称]`

3.播放网易云音乐歌单(如果提示Error: Nothing to play...重新输入指令解决)
`!yun gedan [歌单名称]`

4.播放网易云音乐歌单id
`!yun gedanid [歌单名称]`

5.立即播放网易云音乐id
`!yun playid [歌单id]`

6.添加指定音乐id到下一首
`!yun add [音乐id]`

7.播放列表中的下一首
`!yun next`

8.修改播放模式
`!yun add [音乐名称/音乐网址/音乐ID]`

3.播放网易云音乐歌单
`!yun gedan [歌单名称/歌单网址/歌单ID]`

4.播放列表中的下一首
`!yun next`

5.修改播放模式
`!yun mode [模式选择数字0-3]`
`0 = 顺序播放`
`1 = 顺序循环`
`2 = 随机播放`
`3 = 随机循环`

需要注意的是如果歌单歌曲过多需要时间加载,期间一定一定不要输入其他指令
6.查看播放列表
`!yun list`

7.查看状态
`!yun status`

8.重载插件配置
`!yun reload`

9.让机器人前往当前频道
`!here`
需要在服务器聊天框发送

需要注意的是如果歌单歌曲过多需要时间加载,期间一定一定不要输入其他指令

### TS 频道描述(复制代码到频道描述)

### TS频道描述(复制代码到频道描述)
```
[COLOR=#ff5500][B]正在播放的歌单的图片和名称可以点机器人看它的头像和描述[/B][/COLOR]
[COLOR=#aa00ff]机器人现在可以通过歌单播放vip音乐,如果遇到其他问题可以联系Github[/COLOR]

[COLOR=#0055ff]双击机器人,目前有以下指令([I]把[xxx]替换成对应信息,包括中括号[/I])[/COLOR]
1.立即播放网易云音乐
[COLOR=#00aa00]!yun play [音乐名称][/COLOR]
[COLOR=#00aa00]!yun play [音乐名称/音乐网址/音乐ID][/COLOR]
2.添加音乐到下一首
[COLOR=#00aa00]!yun add [音乐名称][/COLOR]
[COLOR=#00aa00]!yun add [音乐名称/音乐网址/音乐ID][/COLOR]
3.播放网易云音乐歌单
[COLOR=#00aa00]!yun gedan [歌单名称][/COLOR]
4.播放网易云音乐歌单id
[COLOR=#00aa00]!yun gedanid [歌单名称][/COLOR]
5.立即播放网易云音乐id
[COLOR=#00aa00]!yun playid [歌单id][/COLOR]
6.添加指定音乐id到下一首
[COLOR=#00aa00]!yun add [音乐id][/COLOR]
7.播放列表中的下一首
[COLOR=#00aa00]!yun gedan [歌单名称/歌单网址/歌单ID][/COLOR]
4.播放列表中的下一首
[COLOR=#00aa00]!yun next[/COLOR]
8.播放模式选择【0=顺序播放 1=顺序循环 2=随机 3=随即循环】
5.播放模式选择【0=顺序播放 1=顺序循环 2=随机 3=随即循环】
[COLOR=#00aa00]!yun mode[/COLOR]
9.登陆账户
6.登陆账户
[COLOR=#00aa00]!yun login[/COLOR]
[COLOR=#aaaaff]如果想要播放会员音乐需要先登陆会员账户,输入上述命令后扫描机器人头像的二维码登陆(只需要一账户登陆一次即可)[/COLOR]
7.查看播放列表
[COLOR=#00aa00]!yun list[/COLOR]
8.查看状态
[COLOR=#00aa00]!yun status[/COLOR]
需要注意的是如果歌单歌曲过多需要时间加载(重写后应该只需要几秒),期间[B]一定一定不要[/B]输入其他指令

以下例子加粗的就是音乐或者歌单id
[URL]https://music.163.com/#/my/m/music/playlist?id=[B]2139305008[I][/I][/B][/URL]

```

### 已知问题
使用官方构建的ts3aduiobot会报错,因为官方的编译环境有问题。
解决方法:1.自行构建 2.使用我打包的版本
重复卸载加载插件会出现问题,如果需要重新加载请先重启Bot

#### 写在最后的话
本人完全不会C#,纯粹是自己花两天自学的,所以请各位大佬轻点喷我。
还有很多地方需要完善以及很多功能可以添加,但是本人无法做出任何承诺
同时欢迎各位来修改和完善这个插件
最后的最后请不要轻易信任使用他人提供的公开服务,以免发生安全问题,泄露自己的账号和密码。如果决定使用默认的远程API请自行承担任何可能的后续风险。
Loading