我正在使用Sharplink和LavaLink,但无法进行LavalinkManager
设置并无法播放不和谐的bot播放音乐。
this._client = new DiscordSocketClient(
new DiscordSocketConfig {LogLevel = LogSeverity.Verbose});
_lavalinkManager = new LavalinkManager(_client);
_lavalinkManager.Log += LavalinkManager_Log;
在DiscordClient#Ready事件上,我进行了await _lavalinkManager.StartAsync();
,并在下面发布了错误日志。
** 19:16:19 Lavalink Connecting to Lavalink node at ws://0.0.0.0/
** 19:16:19 Lavalink Failed to connect to Lavalink node at ws://0.0.0.0/
** 19:16:19 Lavalink Waiting 6 seconds before reconnecting
还有LavalinkManager_Log
方法,
private Task LavalinkManager_Log(LogMessage arg1)
{
Console.WriteLine($"** {arg1}");
return Task.CompletedTask;
}
我已经设置了lavalink(发布日期为8月25日),但没有提供一个application.yml
文件,希望它恢复默认设置,并且目前使用的是SharpLink最新的nuget。
答案 0 :(得分:1)
如果您查看this commit,尽管他们在Nuget上尚未更新,但他们已解决了此问题,因此您必须指定配置,而不使用默认配置。另一种选择是,您构建Sharplink项目并获得dll
并将其引用添加到您的项目中。这样,您将拥有最新功能,而无需依赖Nuget更新。
到目前为止,您必须自己在与application.yml
对应的代码中添加一个配置。还要确认lavalink确实在运行。尝试在日志中找出listening on port xxxx
。您可以像这样添加配置:
LavalinkManager lavalinkManager = new LavalinkManager(client, new LavalinkManagerConfig
{
RESTHost = "localhost",
RESTPort = 2333,
WebSocketHost = "localhost",
WebSocketPort = 2333,
Authorization = "YOUR_SECRET_AUTHORIZATION_KEY",
TotalShards = 1
});
祝你好运。
答案 1 :(得分:0)
如here所示,application.yml的缺省值对于WS服务器使用0.0.0.0。
在您的情况下,它无法连接到该服务器,因为它未运行或在其他IP地址上。我无法从提供的代码中告诉您这一点,这是您必须自己发现的东西。
希望这会有所帮助