SharpLink 1.0.0-beta-0005
dotnet add package SharpLink --version 1.0.0-beta-0005
NuGet\Install-Package SharpLink -Version 1.0.0-beta-0005
<PackageReference Include="SharpLink" Version="1.0.0-beta-0005" />
paket add SharpLink --version 1.0.0-beta-0005
#r "nuget: SharpLink, 1.0.0-beta-0005"
// Install SharpLink as a Cake Addin #addin nuget:?package=SharpLink&version=1.0.0-beta-0005&prerelease // Install SharpLink as a Cake Tool #tool nuget:?package=SharpLink&version=1.0.0-beta-0005&prerelease
SharpLink
A Lavalink wrapper for Discord.Net!
Getting Started
- Follow these instructions to setup Lavalink.
- Once Lavalink is up and running follow the code example below to setup Sharplink.
DiscordSocketClient client = new DiscordSocketClient();
LavalinkManager lavalinkManager = new LavalinkManager(client, new LavalinkManagerConfig
{
RESTHost = "localhost",
RESTPort = 2333,
WebSocketHost = "localhost",
WebSocketPort = 80,
Authorization = "YOUR_SECRET_AUTHORIZATION_KEY",
TotalShards = 1
});
Notes:
You don't have to pass a
LavalinkManagerConfig
since Sharplink uses the default config.
Set
TotalShards
to the total amount of shards your bot uses. If you don't understand whatTotalShards
is you are probably not sharding your bot and should set this value to1
.
Use only a single instance of
LavaLinkManager
. If possible addLavalinkManager
to your DI (Dependency Injection).
Once a LavalinkManager is set up it will need to be started. It is recommended you put this in the ready event.
client.Ready += async () =>
{
await lavalinkManager.StartAsync();
}
From there you can connect to audio channels, play music, and do whatever else you wish to do. Here is an example to connect and play music on a voice channel.
// Get LavalinkPlayer for our Guild and if it's null then join a voice channel.
LavalinkPlayer player = lavalinkManager.GetPlayer(GUILD_ID) ?? await lavalinkManager.JoinAsync(VOICE_CHANNEL);
// Now that we have a player we can go ahead and grab a track and play it
LoadTracksResponse response = await lavalinkManager.GetTracksAsync("IDENTIFIER");
// Gets the first track from the response
LavalinkTrack = response.Tracks.First();
await player.PlayAsync(track);
Notes: To get a track from Youtube use GetTracksAsync($"ytsearch:Query")
. To get a track from SoundCloud use GetTracksAsync($"scsearch:Query")
.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Discord.Net (>= 2.0.0-beta2-00970)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0-beta-0005 | 2,364 | 8/15/2018 |
1.0.0-beta-0004 | 750 | 7/9/2018 |
1.0.0-beta-0002 | 832 | 6/23/2018 |
1.0.0-beta-0001 | 729 | 6/3/2018 |
1.0.0-beta | 709 | 5/31/2018 |
- Fixed deadlock in disconnect event (when disconnecting players)
- Removed self deafen completely (no deafen icon)
- Modified LoadTracks API
1. Removed GetTrackAsync
2. GetTracksAsync returns a LoadTracksResponse which returns more verbose info if using Lavalink v3