diff --git a/server/login_hooks.go b/server/login_hooks.go index 3bcf91e..c577604 100644 --- a/server/login_hooks.go +++ b/server/login_hooks.go @@ -37,7 +37,7 @@ func (p *Plugin) UserHasLoggedIn(c *plugin.Context, user *model.User) { } for _, team := range teams { - msg := fmt.Sprintf("User @%s has logged in", user.Username) + msg := fmt.Sprintf("@%s has logged in. ID: `%s`", user.Username, user.Id) if err := p.postPluginMessage(team.Id, msg); err != nil { p.API.LogError( "Failed to post UserHasLoggedIn message", diff --git a/server/user_hooks.go b/server/user_hooks.go index a3e0ef7..f5cae2c 100644 --- a/server/user_hooks.go +++ b/server/user_hooks.go @@ -28,7 +28,7 @@ func (p *Plugin) UserHasBeenCreated(c *plugin.Context, user *model.User) { } for _, team := range teams { - msg := fmt.Sprintf("User_ID @%s has been created in", user.Id) + msg := fmt.Sprintf("@%s has been created. ID: `%s`", user.Username, user.Id) if err := p.postPluginMessage(team.Id, msg); err != nil { p.API.LogError( "Failed to post UserHasBeenCreated message", @@ -38,3 +38,35 @@ func (p *Plugin) UserHasBeenCreated(c *plugin.Context, user *model.User) { } } } + +// UserHasBeenDeactivated is invoked when a user is made inactive. +// +// This demo implementation logs a message to the demo channel in the team whenever a user +// is deactivated. +func (p *Plugin) UserHasBeenDeactivated(c *plugin.Context, user *model.User) { + configuration := p.getConfiguration() + + if configuration.disabled { + return + } + + teams, err := p.API.GetTeams() + if err != nil { + p.API.LogError( + "Failed to query teams UserHasBeenDeactivated", + "error", err.Error(), + ) + return + } + + for _, team := range teams { + msg := fmt.Sprintf("@%s has been deactivated. ID: `%s`", user.Username, user.Id) + if err := p.postPluginMessage(team.Id, msg); err != nil { + p.API.LogError( + "Failed to post UserHasBeenDeactivated message", + "channel_id", configuration.demoChannelIDs[team.Id], + "error", err.Error(), + ) + } + } +}