ruboty-slack_rtm 3.1.0 → 3.2.3

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: 13d45c2a2ce3ddfc579235303cb7dab9af5f4c23c130a13f7e6debd1dcbd613a
4
- data.tar.gz: db430b0e9597d5e172e7acc244464b9211985112eb353db25ff0bfd512e87b90
3
+ metadata.gz: a735292c902d7fc4aff589e5729f9b467a948b77bcc09f47e7348c8d60768cc5
4
+ data.tar.gz: d318bdcae1a2c3fa09842dc606b8368ac16d2de46225eab88a1ff89b68d89bdf
5
5
  SHA512:
6
- metadata.gz: a4824a614804add3b808f1004dfe5f16896fcc29e9dea64fab8dc3a07e2b7fa84b652268fa9b6597aeb9dc77ed4a5edc98eb0f17da75c2629ec80f3130801a26
7
- data.tar.gz: ad117ad3a96dc38ed9ed5b9242f7bf20b8cb7e16942817c42b7648ca113c4e2ed45a1a4e29866f3ab61d20c4058774bf0c2437cca7b0038d164bcd9bdeef18d9
6
+ metadata.gz: 53109fa2c2fec6438f59f21f3a4a8af93e715cd0ba6bf665c0e46187adc31fd9e2c13cb080262fe6553d570b7fc8a7df2b8990f3da7c17e08f956950f0da0c5b
7
+ data.tar.gz: 7bd7dc7ed0a4fb744a571e8179b1c541d9451b587aa293a26ca8be3a2fcf8c23cfbb964cd29e973bcadacc16563dc82afa41e996a339710eac963a5c47a77488
@@ -29,32 +29,39 @@ module Ruboty
29
29
 
30
30
  return unless channel
31
31
 
32
+ args = {
33
+ as_user: true
34
+ }
35
+ if message[:thread_ts] || (message[:original] && message[:original][:thread_ts])
36
+ args.merge!(thread_ts: message[:thread_ts] || message[:original][:thread_ts])
37
+ end
38
+
32
39
  if message[:attachments] && !message[:attachments].empty?
33
- client.chat_postMessage(
40
+ args.merge!(
34
41
  channel: channel,
35
- text: message[:code] ? "```\n#{message[:body]}\n```" : message[:body],
42
+ text: message[:code] ? "```\n#{message[:body]}\n```" : message[:body],
36
43
  parse: message[:parse] || 'full',
37
44
  unfurl_links: true,
38
- as_user: true,
39
45
  attachments: message[:attachments].to_json
40
46
  )
47
+ client.chat_postMessage(args)
41
48
  elsif message[:file]
42
49
  path = message[:file][:path]
43
- client.files_upload(
50
+ args.merge!(
44
51
  channels: channel,
45
- as_user: true,
46
52
  file: Faraday::UploadIO.new(path, message[:file][:content_type]),
47
53
  title: message[:file][:title] || path,
48
54
  filename: File.basename(path),
49
55
  initial_comment: message[:body] || ''
50
56
  )
57
+ client.files_upload(args)
51
58
  else
52
- client.chat_postMessage(
59
+ args.merge!(
53
60
  channel: channel,
54
- text: message[:code] ? "```\n#{message[:body]}\n```" : resolve_send_mention(message[:body]),
55
- as_user: true,
61
+ text: message[:code] ? "```\n#{message[:body]}\n```" : resolve_send_mention(message[:body]),
56
62
  mrkdwn: true
57
63
  )
64
+ client.chat_postMessage(args)
58
65
  end
59
66
  end
60
67
 
@@ -97,6 +104,8 @@ module Ruboty
97
104
  break unless ENV['SLACK_AUTO_RECONNECT']
98
105
  @url = nil
99
106
  @realtime = nil
107
+ sleep 3
108
+ bind
100
109
  end
101
110
  end
102
111
 
@@ -154,6 +163,8 @@ module Ruboty
154
163
  to: channel_to,
155
164
  channel: channel,
156
165
  user: user,
166
+ ts: data['ts'],
167
+ thread_ts: data['thread_ts'],
157
168
  time: Time.at(data['ts'].to_f)
158
169
  }
159
170
 
@@ -235,7 +246,7 @@ module Ruboty
235
246
  end
236
247
 
237
248
  def resolve_send_mention(text)
238
- text = text.to_s
249
+ text = text.dup.to_s
239
250
  text.gsub!(/@(?<mention>[0-9a-z._-]+)/) do |_|
240
251
  mention = Regexp.last_match[:mention]
241
252
  msg = "@#{mention}"
@@ -322,7 +333,7 @@ module Ruboty
322
333
  @channel_info_caches[channel_id] ||= begin
323
334
  resp = case channel_id
324
335
  when /^C/
325
- client.channels_info(channel: channel_id)
336
+ client.conversations_info(channel: channel_id)
326
337
  else
327
338
  {}
328
339
  end
@@ -65,7 +65,13 @@ module Ruboty
65
65
  Thread.start do
66
66
  loop do
67
67
  sleep(30)
68
- @client.send('', type: 'ping')
68
+ begin
69
+ @client.send('', type: 'ping')
70
+ rescue => e
71
+ Ruboty.logger.error("#{e.class}: #{e.message}\n#{e.backtrace.join("\n")}")
72
+ @queue.enq(CONNECTION_CLOSED)
73
+ break
74
+ end
69
75
  end
70
76
  end
71
77
  end
@@ -1,5 +1,5 @@
1
1
  module Ruboty
2
2
  module SlackRTM
3
- VERSION = '3.1.0'
3
+ VERSION = '3.2.3'
4
4
  end
5
5
  end
@@ -18,8 +18,8 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency 'bundler', '~> 1.7'
22
- spec.add_development_dependency 'rake', '~> 12.3'
21
+ spec.add_development_dependency 'bundler'
22
+ spec.add_development_dependency 'rake'
23
23
  spec.add_development_dependency 'rubocop', '>= 0.28.0'
24
24
 
25
25
  spec.add_dependency 'ruboty', '>= 1.1.4'
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruboty-slack_rtm
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sho Kusano
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-04 00:00:00.000000000 Z
11
+ date: 2021-04-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.7'
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.7'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '12.3'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '12.3'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rubocop
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -132,7 +132,7 @@ homepage: https://github.com/rosylilly/ruboty-slack_rtm
132
132
  licenses:
133
133
  - MIT
134
134
  metadata: {}
135
- post_install_message:
135
+ post_install_message:
136
136
  rdoc_options: []
137
137
  require_paths:
138
138
  - lib
@@ -147,9 +147,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
147
  - !ruby/object:Gem::Version
148
148
  version: '0'
149
149
  requirements: []
150
- rubyforge_project:
151
- rubygems_version: 2.7.6
152
- signing_key:
150
+ rubygems_version: 3.2.3
151
+ signing_key:
153
152
  specification_version: 4
154
153
  summary: Slack real time messaging adapter for Ruboty
155
154
  test_files: []