diff --git a/README.md b/README.md index c01b9443a..9fae8d45c 100644 --- a/README.md +++ b/README.md @@ -83,12 +83,13 @@ The preview of the configured messages, as well as the creation of a channel wel * `/welcomebot help` - Displays usage information. * `/welcomebot list` - Lists the teams for which greetings were defined. * `/welcomebot preview [team-name]` - Sends ephemeral messages to the user calling the command, with the preview of the welcome message[s] for the given team name and the user that requested the preview. -* `/welcomebot set_channel_welcome [welcome-message]` - Sets the given text as current's channel welcome message. You can also include `{{.UserDisplayName}}` and `{{.Channel.DisplayName}}` in the command to print the user joined and the channel display name in the message, respectively. You can insert any variable from the `MessageTemplate` struct, which has the following fields: +* `/welcomebot set_channel_welcome [welcome-message]` - Sets the given text as current's channel welcome message. You can also include `{{.UserDisplayName}}` and `{{.Channel.DisplayName}}` in the `welcome-message` to print the user joined and the channel display name in the message, respectively. You can insert any variable from the `MessageTemplate` struct, which has the following fields: ```go type MessageTemplate struct { WelcomeBot *model.User User *model.User DirectMessage *model.Channel + Channel *model.Channel UserDisplayName string } ``` diff --git a/server/welcomebot.go b/server/welcomebot.go index 655165381..c8a7dbe49 100644 --- a/server/welcomebot.go +++ b/server/welcomebot.go @@ -47,26 +47,26 @@ func (p *Plugin) constructMessageTemplate(userID, teamID string) *MessageTemplat func (p *Plugin) constructChannelMessageTemplate(userID, channelID string) *ChannelMessageTemplate { data := &ChannelMessageTemplate{} - var err *model.AppError + var err error if len(userID) > 0 { - if data.User, err = p.API.GetUser(userID); err != nil { - p.API.LogError("failed to query user", "UserID", userID) + if data.User, err = p.client.User.Get(userID); err != nil { + p.client.Log.Error("failed to query user", "UserID", userID) return nil } } if data.User != nil { - if data.DirectMessage, err = p.API.GetDirectChannel(userID, p.botUserID); err != nil { - p.API.LogError("failed to query direct message channel", "UserID", userID) + if data.DirectMessage, err = p.client.Channel.GetDirect(userID, p.botUserID); err != nil { + p.client.Log.Error("failed to query direct message channel", "UserID", userID) return nil } } if len(channelID) > 0 { - data.Channel, err = p.API.GetChannel(channelID) + data.Channel, err = p.client.Channel.Get(channelID) if err != nil { - p.API.LogError("failed to query channel", "ChannelID", channelID) + p.client.Log.Error("failed to query channel", "ChannelID", channelID) return nil } } @@ -203,8 +203,8 @@ func (p *Plugin) renderWelcomeMessage(messageTemplate MessageTemplate, configMes func (p *Plugin) getTemplateMessage(data []string, messageTemplate interface{}) string { tmpMsg, _ := template.New("Response").Parse(strings.Join(data, "\n")) var message bytes.Buffer - if appErr := tmpMsg.Execute(&message, messageTemplate); appErr != nil { - p.API.LogError("Failed to execute channel message template", "Error", appErr.Error()) + if err := tmpMsg.Execute(&message, messageTemplate); err != nil { + p.client.Log.Error("Failed to execute channel message template", "Error", err.Error()) return "" }