ruboty-slack_rtm 3.1.0 → 3.2.3

Sign up to get free protection for your applications and to get access to all the features.
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: []