ruboty-slack_events 0.1.1 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2588ce42504b8c50d9db58ecca41e92c7b05d435ef0a75fb08dc458f7116fba3
4
- data.tar.gz: b4f8b9c8c85abd03d37bbeb9b76121659f24b8c0453f94a5ddd5862125950834
3
+ metadata.gz: 3d8044e2af28b28bfb9b43de3fd70cf2bd98136a47e16be26ce97f8cc94d01d9
4
+ data.tar.gz: 364780ecafa68c98e4b7e7e34a6b15e974a21eb1e8ed4c86ae5447a88f57e30c
5
5
  SHA512:
6
- metadata.gz: e99fb912133d41ba3dd1d02a2ae9424b4f4ff89a65460678d3fc59a433797608373dca041903b5aa44a4f756110d2cea2b5c90829167f70701fb29c4798e3a63
7
- data.tar.gz: 4b997f616c0d1c28e6e322077e94242d5088426d4c9cc8b73267f353e21ee5eac8b25162c8a3c2b91d051020951d29c5aec5c0fecac5985e5f76e77cdef82449
6
+ metadata.gz: 8c58744c0accd0247d52ae38c38374baf6584b8a357924db43bcf51e03d14610431314cc4db256f40a6aa225aad96f1f9487292f8a7503a7d2880ae1fe8f4aac
7
+ data.tar.gz: fb2137b623fbadb5da6ee60a73f4c0e5f5c190c2be252b4a66c7e20e57c1b2f4bd7db20108b828254e650238420c1feb00b6db611dc152f49e87659dee01cc2a
data/CHANGELOG.md CHANGED
@@ -1,4 +1,9 @@
1
1
  ## Unreleased
2
+ ## 0.2.0 - 2025-04-03
3
+
4
+ - Support reply on threads
5
+ - Ignore message events without text field
6
+
2
7
  ## 0.1.1 - 2025-04-02
3
8
 
4
9
  - Add ./bin/run-ruboty script to run ruboty locally with this gem
@@ -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
- } #: RobotMessage
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
- handle_event(message.event)
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
- handle_event(message.payload)
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
@@ -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
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ruboty
4
4
  module SlackEvents
5
- VERSION = "0.1.1"
5
+ VERSION = "0.2.0"
6
6
  end
7
7
  end
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.1.1
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-01 00:00:00.000000000 Z
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.2
100
+ rubygems_version: 3.6.3
101
101
  specification_version: 4
102
102
  summary: Ruboty adapter with Slack Events API
103
103
  test_files: []