Slack.NetStandard.AsyncEnumerable
1.0.3
See the version list below for details.
dotnet add package Slack.NetStandard.AsyncEnumerable --version 1.0.3
NuGet\Install-Package Slack.NetStandard.AsyncEnumerable -Version 1.0.3
<PackageReference Include="Slack.NetStandard.AsyncEnumerable" Version="1.0.3" />
paket add Slack.NetStandard.AsyncEnumerable --version 1.0.3
#r "nuget: Slack.NetStandard.AsyncEnumerable, 1.0.3"
// Install Slack.NetStandard.AsyncEnumerable as a Cake Addin #addin nuget:?package=Slack.NetStandard.AsyncEnumerable&version=1.0.3 // Install Slack.NetStandard.AsyncEnumerable as a Cake Tool #tool nuget:?package=Slack.NetStandard.AsyncEnumerable&version=1.0.3
Slack.NetStandard.AsyncEnumerable
Additional support for Slack.NetStandard apps running Socket Mode
Creating a new client
var socketMode = new SocketModeClient(); //Can pass in your own ClientWebSocket instance
await socketMode.ConnectAsync(appToken); //Can use an existing SlackWebApiClient
Handling Envelopes
await foreach (var envelope in client.EnvelopeAsyncEnumerable(token))
{
Console.WriteLine("processing envelope " + envelope.EnvelopeId);
if (envelope.Payload is SlashCommand) //for example
{
//your logic here
}
}
Hello and Disconnect
Hello and Disconnect messages are automatically handled by the SocketModeClient
class.
Hello
messages are sent "hello" in response
Disconnect
closes the ClientWebSocket.
If there is a valid SlackWebApiClient, or the class was able to create one from an app token, then the class will attempt to retrieve a new connection URL and re-connect the ClientWebSocket automatically - allowing the foreach
to continue without interruption.
If you require different functionality in these cases, there is an OnHello and OnDisconnect method which can be overwritten in a subclass
Sample Application
The Socket Sample app within Slack.NetStandard is a working example of a console application that uses this library, just supply your own app token
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 | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | 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.1
- Newtonsoft.Json (>= 12.0.3)
- Slack.NetStandard (>= 2.10.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Fix StreamReader