@@ -34,7 +34,11 @@ func (r *response) ReportError(err error, options ...ReportErrorOption) {
34
34
event := r .botCtx .Event ()
35
35
message := rtm .NewOutgoingMessage (fmt .Sprintf (errorFormat , err .Error ()), event .Channel )
36
36
if defaults .ThreadResponse {
37
- message .ThreadTimestamp = event .ThreadTimestamp
37
+ if event .ThreadTimestamp != "" {
38
+ message .ThreadTimestamp = event .ThreadTimestamp
39
+ } else {
40
+ message .ThreadTimestamp = event .EventTimestamp
41
+ }
38
42
}
39
43
40
44
rtm .SendMessage (message )
@@ -54,14 +58,19 @@ func (r *response) Reply(message string, options ...ReplyOption) error {
54
58
rtm := r .botCtx .RTM ()
55
59
event := r .botCtx .Event ()
56
60
if defaults .ThreadResponse {
61
+ if event .ThreadTimestamp != "" {
62
+ threadTimestamp = event .ThreadTimestamp
63
+ } else {
64
+ threadTimestamp = event .EventTimestamp
65
+ }
57
66
_ , _ , err := rtm .PostMessage (
58
67
event .Channel ,
59
68
slack .MsgOptionText (message , false ),
60
69
slack .MsgOptionUser (rtm .GetInfo ().User .ID ),
61
70
slack .MsgOptionAsUser (true ),
62
71
slack .MsgOptionAttachments (defaults .Attachments ... ),
63
72
slack .MsgOptionBlocks (defaults .Blocks ... ),
64
- slack .MsgOptionTS (event . ThreadTimestamp ),
73
+ slack .MsgOptionTS (threadTimestamp ),
65
74
)
66
75
return err
67
76
}
0 commit comments