Skip to content

Commit

Permalink
Fix events for socket mode
Browse files Browse the repository at this point in the history
  • Loading branch information
stoiveyp committed Jan 27, 2021
1 parent 7d7ad8f commit a19f2a2
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 26 deletions.
49 changes: 27 additions & 22 deletions Slack.NetStandard.Tests/Examples/Socket_EnvelopeEvent.json
Original file line number Diff line number Diff line change
@@ -1,27 +1,32 @@
{
"envelope_id": "8a037aeb-e778-480e-bf7c-412d2054651d",
"payload": {
"type": "app_home_opened",
"user": "U061F7AUR",
"channel": "D0LAN2Q65",
"event_ts": "1515449522000016",
"tab": "home",
"view": {
"id": "VPASKP233",
"team_id": "T21312902",
"type": "home",
"private_metadata": "",
"callback_id": "",
"hash": "1231232323.12321312",
"clear_on_close": false,
"notify_on_close": false,
"root_view_id": "VPASKP233",
"app_id": "A21SDS90",
"external_id": "",
"app_installed_team_id": "T21312902",
"bot_id": "BSDKSAO2"
}
"token": "xxx",
"team_id": "xxx",
"api_app_id": "xxx",
"event": {
"type": "app_home_opened",
"user": "xxx",
"channel": "xxx",
"tab": "messages",
"event_ts": "1611746843.282238"
},
"type": "event_callback",
"event_id": "xxx",
"event_time": 1611746843,
"authorizations": [
{
"enterprise_id": null,
"team_id": "xxx",
"user_id": "xxx",
"is_bot": true,
"is_enterprise_install": false
}
],
"is_ext_shared_channel": false
},
"envelope_id": "1231232323.12321312",
"type": "events_api",
"accepts_response_payload": false
"accepts_response_payload": false,
"retry_attempt": 0,
"retry_reason": ""
}
3 changes: 2 additions & 1 deletion Slack.NetStandard.Tests/SocketTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ public void EnvelopeEvent()
var evt = Utility.ExampleFileContent<Envelope>("Socket_EnvelopeEvent.json");
Assert.NotNull(evt);
Assert.Equal("events_api", evt.Type);
Assert.IsType<AppHomeOpened>(evt.Payload);
var callback = Assert.IsType<EventCallback>(evt.Payload);
Assert.IsType<AppHomeOpened>(callback.Event);
}

[Fact]
Expand Down
2 changes: 1 addition & 1 deletion Slack.NetStandard/JsonConverters/EnvelopeConverter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ private Envelope PostObjectPayload(JsonSerializer serializer, Envelope envelope,
envelope.Payload = interaction;
break;
case "events_api":
var evt = serializer.Deserialize<ICallbackEvent>(payload.CreateReader());
var evt = serializer.Deserialize<EventCallback>(payload.CreateReader());
envelope.Payload = evt;
break;
default:
Expand Down
5 changes: 3 additions & 2 deletions Slack.NetStandard/Slack.NetStandard.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Version>2.9.1</Version>
<Version>2.9.2</Version>
<Description>.NET Core package that helps with Slack interactions</Description>
<PackageLicenseFile>LICENSE</PackageLicenseFile>
<PackageReleaseNotes>Support for Socket Mode - hello, disconnect, Envelopes and Acknowlegements</PackageReleaseNotes>
<PackageReleaseNotes>Fix socket mode events (thanks @freakalis!)
Add retry fields to Envelope</PackageReleaseNotes>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>Steven Pears</Authors>
<Company />
Expand Down
6 changes: 6 additions & 0 deletions Slack.NetStandard/Socket/Envelope.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ public class Envelope
[JsonProperty("payload", NullValueHandling = NullValueHandling.Ignore)]
public object Payload { get; set; }

[JsonProperty("retry_attempt", NullValueHandling = NullValueHandling.Ignore)]
public int RetryAttempt { get; set; }

[JsonProperty("retry_reason", NullValueHandling = NullValueHandling.Ignore)]
public string RetryReason { get; set; }

[JsonExtensionData]
public Dictionary<string,object> Otherfields { get; set; }
}
Expand Down

0 comments on commit a19f2a2

Please sign in to comment.