diff --git a/app/auto_responder.go b/app/auto_responder.go index eba4c3cf28..906ade1801 100644 --- a/app/auto_responder.go +++ b/app/auto_responder.go @@ -18,6 +18,10 @@ func (a *App) SendAutoResponseIfNecessary(channel *model.Channel, sender *model. } receiverId := channel.GetOtherUserIdForDM(sender.Id) + if receiverId == "" { + // User direct messaged themself, let them test their auto-responder. + receiverId = sender.Id + } receiver, err := a.GetUser(receiverId) if err != nil { diff --git a/app/post.go b/app/post.go index 2554df9b21..9d02450a4e 100644 --- a/app/post.go +++ b/app/post.go @@ -419,12 +419,14 @@ func (a *App) handlePostEvents(post *model.Post, user *model.User, channel *mode return err } - a.Srv().Go(func() { - _, err := a.SendAutoResponseIfNecessary(channel, user) - if err != nil { - mlog.Error("Failed to send auto response", mlog.String("user_id", user.Id), mlog.String("post_id", post.Id), mlog.Err(err)) - } - }) + if post.Type != model.POST_AUTO_RESPONDER { // don't respond to an auto-responder + a.Srv().Go(func() { + _, err := a.SendAutoResponseIfNecessary(channel, user) + if err != nil { + mlog.Error("Failed to send auto response", mlog.String("user_id", user.Id), mlog.String("post_id", post.Id), mlog.Err(err)) + } + }) + } if triggerWebhooks { a.Srv().Go(func() {