ruboty-slack_events 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/Rakefile +3 -0
- data/lib/ruboty/adapters/slack_events/slack_events_handler.rb +16 -4
- data/lib/ruboty/adapters/slack_events.rb +11 -2
- data/lib/ruboty/slack_events/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d8044e2af28b28bfb9b43de3fd70cf2bd98136a47e16be26ce97f8cc94d01d9
|
4
|
+
data.tar.gz: 364780ecafa68c98e4b7e7e34a6b15e974a21eb1e8ed4c86ae5447a88f57e30c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c58744c0accd0247d52ae38c38374baf6584b8a357924db43bcf51e03d14610431314cc4db256f40a6aa225aad96f1f9487292f8a7503a7d2880ae1fe8f4aac
|
7
|
+
data.tar.gz: fb2137b623fbadb5da6ee60a73f4c0e5f5c190c2be252b4a66c7e20e57c1b2f4bd7db20108b828254e650238420c1feb00b6db611dc152f49e87659dee01cc2a
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,13 @@
|
|
1
1
|
## Unreleased
|
2
|
+
## 0.2.0 - 2025-04-03
|
3
|
+
|
4
|
+
- Support reply on threads
|
5
|
+
- Ignore message events without text field
|
6
|
+
|
7
|
+
## 0.1.1 - 2025-04-02
|
8
|
+
|
9
|
+
- Add ./bin/run-ruboty script to run ruboty locally with this gem
|
10
|
+
- Fix message formatting issue when :code option is given
|
2
11
|
|
3
12
|
## 0.1.0 - 2025-04-01
|
4
13
|
|
data/Rakefile
CHANGED
@@ -16,6 +16,13 @@ module Ruboty
|
|
16
16
|
def handle_event(message) #: void
|
17
17
|
Ruboty::SlackEvents::Logger.debug("handle_event") { message.to_json }
|
18
18
|
|
19
|
+
on_generic_event(message)
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
# @rbs message: Slack::Messages::Message -- a generic type event
|
25
|
+
def on_generic_event(message) #: void
|
19
26
|
case message.type
|
20
27
|
when "message"
|
21
28
|
on_message(message)
|
@@ -34,12 +41,17 @@ module Ruboty
|
|
34
41
|
|
35
42
|
return if message.subtype == "bot_message" && adapter.ignore_bot_message?
|
36
43
|
|
44
|
+
# Some event subtypes (e.g. message_changed) does not have `text` field.
|
45
|
+
# Consider that these events are not a new message.
|
46
|
+
return unless message.text
|
47
|
+
|
37
48
|
message_for_robot = {
|
38
49
|
body: adapter.rubotify.call(message.text),
|
39
50
|
from: channel,
|
40
51
|
from_name: user&.name,
|
41
|
-
to: channel
|
42
|
-
|
52
|
+
to: channel,
|
53
|
+
thread_ts: message.thread_ts
|
54
|
+
} #: receivedMessage
|
43
55
|
|
44
56
|
Ruboty::SlackEvents::Logger.debug("robot.receive") { message_for_robot.to_json }
|
45
57
|
|
@@ -48,12 +60,12 @@ module Ruboty
|
|
48
60
|
|
49
61
|
# @rbs message: Slack::Messages::Message -- `event_callback` type event
|
50
62
|
def on_event_callback(message)
|
51
|
-
|
63
|
+
on_generic_event(message.event)
|
52
64
|
end
|
53
65
|
|
54
66
|
# @rbs message: Slack::Messages::Message -- `events_api` type event
|
55
67
|
def on_events_api(message)
|
56
|
-
|
68
|
+
on_generic_event(message.payload)
|
57
69
|
end
|
58
70
|
end
|
59
71
|
end
|
@@ -14,8 +14,16 @@ module Ruboty
|
|
14
14
|
# type robotMessage = {
|
15
15
|
# body: String,
|
16
16
|
# from: String,
|
17
|
+
# to: String,
|
18
|
+
# original: receivedMessage?,
|
19
|
+
# code: boolish?,
|
20
|
+
# }
|
21
|
+
# type receivedMessage = {
|
22
|
+
# body: String,
|
23
|
+
# from: String,
|
17
24
|
# from_name: String,
|
18
25
|
# to: String,
|
26
|
+
# thread_ts: String?,
|
19
27
|
# }
|
20
28
|
|
21
29
|
def run
|
@@ -31,7 +39,7 @@ module Ruboty
|
|
31
39
|
if message[:code]
|
32
40
|
<<~MARKDOWN
|
33
41
|
```
|
34
|
-
#{message[:
|
42
|
+
#{message[:body]}
|
35
43
|
```
|
36
44
|
MARKDOWN
|
37
45
|
else
|
@@ -41,7 +49,8 @@ module Ruboty
|
|
41
49
|
slack_client.chat_postMessage(
|
42
50
|
channel: message[:to],
|
43
51
|
attachments: [],
|
44
|
-
markdown_text: text
|
52
|
+
markdown_text: text,
|
53
|
+
thread_ts: message.dig(:original, :thread_ts)
|
45
54
|
)
|
46
55
|
end
|
47
56
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruboty-slack_events
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomoya Chiba
|
8
8
|
bindir: exe
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-04-
|
10
|
+
date: 2025-04-03 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: async-websocket
|
@@ -97,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
97
|
- !ruby/object:Gem::Version
|
98
98
|
version: '0'
|
99
99
|
requirements: []
|
100
|
-
rubygems_version: 3.6.
|
100
|
+
rubygems_version: 3.6.3
|
101
101
|
specification_version: 4
|
102
102
|
summary: Ruboty adapter with Slack Events API
|
103
103
|
test_files: []
|