From 8b95fe07d030d2b911c874650de0b944e81bd90f Mon Sep 17 00:00:00 2001 From: John Korsnes Date: Wed, 4 Jun 2025 17:20:58 +0200 Subject: [PATCH] add samples for team_join and emoji_changed --- Samples/HelloWorld/Program.cs | 28 +++++++++++++-- .../HelloWorld/appsettings.Development.json | 3 +- .../Models/Events/TeamJoinEvent.cs | 34 +++++++++---------- 3 files changed, 45 insertions(+), 20 deletions(-) diff --git a/Samples/HelloWorld/Program.cs b/Samples/HelloWorld/Program.cs index 5be64fe..138f336 100644 --- a/Samples/HelloWorld/Program.cs +++ b/Samples/HelloWorld/Program.cs @@ -7,15 +7,18 @@ using Slackbot.Net.Endpoints.Models.Interactive.MessageActions; var builder = WebApplication.CreateBuilder(args); +builder.Logging.SetMinimumLevel(LogLevel.Trace); // Needed in production to verify that incoming event payloads are from Slack builder.Services.AddAuthentication() - .AddSlackbotEvents(c => c.SigningSecret = Environment.GetEnvironmentVariable("CLIENT_SIGNING_SECRET")); + .AddSlackbotEvents(c => c.SigningSecret = "garbage"); // Setup event handlers builder.Services.AddSlackBotEvents() .AddMessageActionsHandler() - .AddAppMentionHandler(); + .AddAppMentionHandler() + .AddTeamJoinHandler() + .AddEmojiChangedHandler(); var app = builder.Build(); @@ -48,3 +51,24 @@ public async Task Handle(MessageActionInteraction @event) return new EventHandledResponse("OK"); } } + +class OnTeamJoins : IHandleTeamJoin +{ + public Task Handle(EventMetaData eventMetadata, TeamJoinEvent @event) + { + var str = JsonSerializer.Serialize(@event); + Console.WriteLine(str); + return Task.FromResult(new EventHandledResponse("OK")); + } +} + +class OnEmojiChanged : IHandleEmojiChanged +{ + + public Task Handle(EventMetaData eventMetadata, EmojiChangedEvent @event) + { + var str = JsonSerializer.Serialize(@event); + Console.WriteLine(str); + return Task.FromResult(new EventHandledResponse("OK")); + } +} diff --git a/Samples/HelloWorld/appsettings.Development.json b/Samples/HelloWorld/appsettings.Development.json index 8983e0f..1f18762 100644 --- a/Samples/HelloWorld/appsettings.Development.json +++ b/Samples/HelloWorld/appsettings.Development.json @@ -3,7 +3,8 @@ "LogLevel": { "Default": "Information", "Microsoft": "Warning", - "Microsoft.Hosting.Lifetime": "Information" + "Microsoft.Hosting.Lifetime": "Information", + "Slackbot.Net.Endpoints": "Trace" } } } diff --git a/source/src/Slackbot.Net.Endpoints/Models/Events/TeamJoinEvent.cs b/source/src/Slackbot.Net.Endpoints/Models/Events/TeamJoinEvent.cs index c3aa5f0..a48247b 100644 --- a/source/src/Slackbot.Net.Endpoints/Models/Events/TeamJoinEvent.cs +++ b/source/src/Slackbot.Net.Endpoints/Models/Events/TeamJoinEvent.cs @@ -9,7 +9,7 @@ public class JoiningUser { public string Id { get; set; } public string Name { get; set; } - public string RealName { get; set; } + public string Real_Name { get; set; } public JoiningUserProfile? Profile { get; set; } } @@ -18,20 +18,20 @@ public class JoiningUserProfile public string Title { get; set; } public string Phone { get; set; } public string Skype { get; set; } - public string RealName { get; set; } - public string RealNameNormalized { get; set; } - public string DisplayName { get; set; } - public string DisplayNameNormalized { get; set; } - public string StatusText { get; set; } - public string StatusEmoji { get; set; } - public int StatusExpiration { get; set; } - public string AvatarHash { get; set; } - public string FirstName { get; set; } - public string LastName { get; set; } - public string Image24 { get; set; } - public string Image32 { get; set; } - public string Image48 { get; set; } - public string Image72 { get; set; } - public string Image192 { get; set; } - public string Image512 { get; set; } + public string Real_Name { get; set; } + public string Real_Name_Normalized { get; set; } + public string Display_Name { get; set; } + public string Display_Name_Normalized { get; set; } + public string Status_Text { get; set; } + public string Status_Emoji { get; set; } + public int Status_Expiration { get; set; } + public string Avatar_Hash { get; set; } + public string First_Name { get; set; } + public string Last_Name { get; set; } + public string Image_24 { get; set; } + public string Image_32 { get; set; } + public string Image_48 { get; set; } + public string Image_72 { get; set; } + public string Image_192 { get; set; } + public string Image_512 { get; set; } }