slack-smart-bot 0.7.0 → 0.7.1

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/slack-smart-bot.rb +15 -19
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c240fd29cdb4468c25494f53f7fdd6c90ca697ab1daa32e27659a72ce1c9a4e
4
- data.tar.gz: 9764ebd4f0e4f4cc73c369768fdc0ecc9ebf77ebbd2fa6cbf73b704cb12fea70
3
+ metadata.gz: de2e23162b674076d5e475671a8736db3fe3f0ebc50db8284bfda453008413e1
4
+ data.tar.gz: 8b47643c8cd75d7efc36b5b6b13db45af782dd41cb6093b100116fba5b516eb8
5
5
  SHA512:
6
- metadata.gz: 0eea43d0ecf89e078bf38c19e97be555a5bd0becc30d0e85be344cbf13ce5be768f8b897516f8b953a598f145a20dfc35a9eef8af2ff7643b4779c1a81e13a99
7
- data.tar.gz: 8974f7b2b5c117af5e963b4b1797ae14f60c6c06d08a2649f1afc1c63d77758e4140070046b7cc9e02df85f4bada93fb426b1514afddf2ac3609c02b8019ceb4
6
+ metadata.gz: 8a3152be4feb408f72442952a144055032a07df4a5d6de0e5ac4adf74728eacc12e8ae60514d408bddc09a58613270e4ac2000c59a52862a492e9f465f37a6a4
7
+ data.tar.gz: 336750bcac43c800c7b2cc1edeae4f8d43026126e3e10e6f159ad5f7c47662ed7a6c747fba6136779d06625e1edab0fd6430875316a3d271617375899ac96964
@@ -28,7 +28,7 @@ end
28
28
  SHORTCUTS_FILE = "slack-smart-bot_shortcuts_#{CHANNEL}.rb".gsub(" ", "_")
29
29
 
30
30
  class SlackSmartBot
31
- attr_accessor :config, :client, :wclient
31
+ attr_accessor :config, :client
32
32
  VERSION = Gem.loaded_specs.values.select { |x| x.name == "slack-smart-bot" }[0].version.to_s
33
33
 
34
34
  def initialize(config)
@@ -47,7 +47,6 @@ class SlackSmartBot
47
47
  Slack.configure do |conf|
48
48
  conf.token = config[:token]
49
49
  end
50
- self.wclient = Slack::Web::Client.new
51
50
  self.client = Slack::RealTime::Client.new(start_method: :rtm_connect)
52
51
 
53
52
  @listening = Array.new
@@ -87,10 +86,9 @@ class SlackSmartBot
87
86
  @rules_imported = eval(file_conf)
88
87
  end
89
88
  end
90
- wclient.auth_test
91
89
 
92
90
  begin
93
- user_info = wclient.users_info(user: "#{"@" if config[:nick][0] != "@"}#{config[:nick]}")
91
+ user_info = client.web_client.users_info(user: "#{"@" if config[:nick][0] != "@"}#{config[:nick]}")
94
92
  config[:nick_id] = user_info.user.id
95
93
  rescue Exception => stack
96
94
  @logger.fatal stack
@@ -154,7 +152,7 @@ class SlackSmartBot
154
152
  end
155
153
 
156
154
  def get_channels_name_and_id
157
- channels = wclient.channels_list.channels
155
+ channels = client.web_client.channels_list.channels
158
156
  @channels_id = Hash.new()
159
157
  @channels_name = Hash.new()
160
158
  channels.each do |ch|
@@ -189,7 +187,7 @@ class SlackSmartBot
189
187
  if !dest.nil? and ((dest[0] == "D" and ON_MASTER_BOT) or (dest[0] == "C")) and data.user.to_s != ""
190
188
  begin
191
189
  #todo: when changed @questions user_id then move user_info inside the ifs to avoid calling it when not necessary
192
- user_info = wclient.users_info(user: data.user)
190
+ user_info = client.web_client.users_info(user: data.user)
193
191
  #todo: check to remove user_info.user.name == config[:nick] since I think we will never get messages from the bot on slack
194
192
  # if Direct message or we are in the channel of the bot
195
193
  if data.text.size >= 2 and
@@ -217,9 +215,9 @@ class SlackSmartBot
217
215
  if @channels_id[CHANNEL] == channel_rules #to be treated only on the bot of the requested channel
218
216
  dest = data.channel
219
217
 
220
- channels = wclient.channels_list.channels
218
+ channels = client.web_client.channels_list.channels
221
219
  channel_found = channels.detect { |c| c.name == channel_rules_name }
222
- members = wclient.conversations_members(channel: @channels_id[channel_rules_name]).members unless channel_found.nil?
220
+ members = client.web_client.conversations_members(channel: @channels_id[channel_rules_name]).members unless channel_found.nil?
223
221
  if channel_found.nil?
224
222
  @logger.fatal "Not possible to find the channel #{channel_rules_name}"
225
223
  elsif channel_found.name == MASTER_CHANNEL
@@ -281,13 +279,11 @@ class SlackSmartBot
281
279
  end
282
280
  end
283
281
 
284
-
285
-
286
282
  #todo: verify if on slack on anytime nick == config[:nick]
287
283
  if nick == config[:nick] #if message is coming from the bot
288
284
  begin
289
285
  case text
290
- when /^Bot has been killed by/
286
+ when /^Bot has been (closed|killed) by/i
291
287
  @logger.info "#{nick}: #{text}"
292
288
  exit!
293
289
  when /^Changed status on (.+) to :(.+)/i
@@ -586,7 +582,7 @@ class SlackSmartBot
586
582
  end
587
583
  respond "Bot channels have been notified", dest
588
584
  else
589
- myconv = wclient.users_conversations(exclude_archived: true, limit: 100, types: "im, public_channel").channels
585
+ myconv = client.web_client.users_conversations(exclude_archived: true, limit: 100, types: "im, public_channel").channels
590
586
  myconv.each do |c|
591
587
  respond message, c.id unless c.name == MASTER_CHANNEL
592
588
  end
@@ -612,9 +608,9 @@ class SlackSmartBot
612
608
  elsif @channels_id.key?(channel) #it is a channel name
613
609
  channel_id = @channels_id[channel]
614
610
  end
615
- channels = wclient.channels_list.channels
611
+ channels = client.web_client.channels_list.channels
616
612
  channel_found = channels.detect { |c| c.name == channel }
617
- members = wclient.conversations_members(channel: @channels_id[channel]).members unless channel_found.nil?
613
+ members = client.web_client.conversations_members(channel: @channels_id[channel]).members unless channel_found.nil?
618
614
 
619
615
  if channel_id.nil?
620
616
  respond "There is no channel with that name: #{channel}, please be sure is written exactly the same", dest
@@ -719,9 +715,9 @@ class SlackSmartBot
719
715
  #help:
720
716
  when /^use rules (from\s+)?<#C\w+\|(.+)>/i, /^use rules (from\s+)?(.+)/i
721
717
  channel = $2
722
- channels = wclient.channels_list.channels
718
+ channels = client.web_client.channels_list.channels
723
719
  channel_found = channels.detect { |c| c.name == channel }
724
- members = wclient.conversations_members(channel: @channels_id[channel]).members unless channel_found.nil?
720
+ members = client.web_client.conversations_members(channel: @channels_id[channel]).members unless channel_found.nil?
725
721
 
726
722
  if channel_found.nil?
727
723
  respond "The channel you are trying to use doesn't exist", dest
@@ -1087,7 +1083,7 @@ class SlackSmartBot
1087
1083
  if id_user[0] == "D"
1088
1084
  client.message(channel: id_user, as_user: true, text: msg)
1089
1085
  else
1090
- im = wclient.im_open(user: id_user)
1086
+ im = client.web_client.im_open(user: id_user)
1091
1087
  client.message(channel: im["channel"]["id"], as_user: true, text: msg)
1092
1088
  end
1093
1089
  end
@@ -1096,13 +1092,13 @@ class SlackSmartBot
1096
1092
  #to send a file to an user or channel
1097
1093
  def send_file(to, msg, file, title, format, type='text')
1098
1094
  if to[0] == "U" #user
1099
- im = wclient.im_open(user: to)
1095
+ im = client.web_client.im_open(user: to)
1100
1096
  channel = im["channel"]["id"]
1101
1097
  else
1102
1098
  channel = to
1103
1099
  end
1104
1100
 
1105
- wclient.files_upload(
1101
+ client.web_client.files_upload(
1106
1102
  channels: channel,
1107
1103
  as_user: true,
1108
1104
  file: Faraday::UploadIO.new(file, format),
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slack-smart-bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Ruiz