Slack: no need of serial messages. in this way can be interrupted

This commit is contained in:
mudler
2024-04-10 20:29:30 +02:00
parent 69cbcc5c88
commit 0dda705017

View File

@@ -101,16 +101,18 @@ func (t *Slack) Start(a *agent.Agent) {
} }
message := ev.Text message := ev.Text
res := a.Ask( go func() {
agent.WithText(message), res := a.Ask(
) agent.WithText(message),
)
_, _, err = api.PostMessage(ev.Channel, _, _, err = api.PostMessage(ev.Channel,
slack.MsgOptionText(res.Response, false), slack.MsgOptionText(res.Response, false),
slack.MsgOptionPostMessageParameters(slack.PostMessageParameters{LinkNames: 1})) slack.MsgOptionPostMessageParameters(slack.PostMessageParameters{LinkNames: 1}))
if err != nil { if err != nil {
fmt.Printf("Error posting message: %v", err) fmt.Printf("Error posting message: %v", err)
} }
}()
case *slackevents.AppMentionEvent: case *slackevents.AppMentionEvent:
if b.UserID == ev.User { if b.UserID == ev.User {
@@ -123,16 +125,18 @@ func (t *Slack) Start(a *agent.Agent) {
message = strings.ReplaceAll(message, "<@"+b.UserID+"> ", "") message = strings.ReplaceAll(message, "<@"+b.UserID+"> ", "")
fmt.Println("Message", message) fmt.Println("Message", message)
res := a.Ask( go func() {
agent.WithText(message), res := a.Ask(
) agent.WithText(message),
)
_, _, err = api.PostMessage(ev.Channel, _, _, err = api.PostMessage(ev.Channel,
slack.MsgOptionText(res.Response, false), slack.MsgOptionText(res.Response, false),
slack.MsgOptionPostMessageParameters(slack.PostMessageParameters{LinkNames: 1})) slack.MsgOptionPostMessageParameters(slack.PostMessageParameters{LinkNames: 1}))
if err != nil { if err != nil {
fmt.Printf("Error posting message: %v", err) fmt.Printf("Error posting message: %v", err)
} }
}()
case *slackevents.MemberJoinedChannelEvent: case *slackevents.MemberJoinedChannelEvent:
fmt.Printf("user %q joined to channel %q", ev.User, ev.Channel) fmt.Printf("user %q joined to channel %q", ev.User, ev.Channel)
} }