slack-smart-bot 0.7.1 → 0.7.2

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 +14 -13
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: de2e23162b674076d5e475671a8736db3fe3f0ebc50db8284bfda453008413e1
4
- data.tar.gz: 8b47643c8cd75d7efc36b5b6b13db45af782dd41cb6093b100116fba5b516eb8
3
+ metadata.gz: 9dd7ec5a931f45aeef862b601c89dd869edfb317e5e05f47fd997f3c48af0b0f
4
+ data.tar.gz: b6c6171727919ba7f8200d9ff14f299e19a1d0b07c62263759758ed88ba4f14e
5
5
  SHA512:
6
- metadata.gz: 8a3152be4feb408f72442952a144055032a07df4a5d6de0e5ac4adf74728eacc12e8ae60514d408bddc09a58613270e4ac2000c59a52862a492e9f465f37a6a4
7
- data.tar.gz: 336750bcac43c800c7b2cc1edeae4f8d43026126e3e10e6f159ad5f7c47662ed7a6c747fba6136779d06625e1edab0fd6430875316a3d271617375899ac96964
6
+ metadata.gz: 82fded753140cd4b5f1635ed3a22f6f5c156b57e7d93d9b45a1f8f643d8ed92acb5a6c83aabfb005feb753cc73c05e9d6de1c481532f26a851e21ccdb22aa30f
7
+ data.tar.gz: b81648ea8b9ff046d0a379941acbc6db78823bb1d5c2b3d95a57ed11b77c8a5ada4f398c443cefcf7251dc0ba348c1eebddcab784dddceb74f70b105300641cb
@@ -79,7 +79,7 @@ class SlackSmartBot
79
79
  end
80
80
  end
81
81
 
82
- # rules imported only for private channels
82
+ # rules imported only for DM
83
83
  if ON_MASTER_BOT and File.exist?("./rules/rules_imported.rb")
84
84
  file_conf = IO.readlines("./rules/rules_imported.rb").join
85
85
  unless file_conf.to_s() == ""
@@ -176,7 +176,7 @@ class SlackSmartBot
176
176
  def listen
177
177
  @salutations = [config[:nick], config[:nick_id], "bot", "smart"]
178
178
  client.on :message do |data|
179
- if data.channel[0] == "D" or data.channel[0] == "C" #Direct message or Channel
179
+ if data.channel[0] == "D" or data.channel[0] == "C" or data.channel[0] == "G" #Direct message or Channel or Private Channel
180
180
  dest = data.channel
181
181
  else # not treated
182
182
  dest = nil
@@ -184,7 +184,7 @@ class SlackSmartBot
184
184
  #todo: sometimes data.user is nil, check the problem.
185
185
  @logger.warn "!dest is nil. user: #{data.user}, channel: #{data.channel}, message: #{data.text}" if dest.nil?
186
186
  # Direct messages are treated only on the master bot
187
- if !dest.nil? and ((dest[0] == "D" and ON_MASTER_BOT) or (dest[0] == "C")) and data.user.to_s != ""
187
+ if !dest.nil? and ((dest[0] == "D" and ON_MASTER_BOT) or (dest[0] == "C" or dest[0] == "G")) and data.user.to_s != ""
188
188
  begin
189
189
  #todo: when changed @questions user_id then move user_info inside the ifs to avoid calling it when not necessary
190
190
  user_info = client.web_client.users_info(user: data.user)
@@ -253,7 +253,7 @@ class SlackSmartBot
253
253
  nick = user.name
254
254
  rules_file = ''
255
255
 
256
- if dest[0] == "C" # on a channel
256
+ if dest[0] == "C" or dest[0] == "G" # on a channel or private channel
257
257
  rules_file = RULES_FILE
258
258
 
259
259
  if @rules_imported.key?(user.id) and @rules_imported[user.id].key?(dchannel)
@@ -279,7 +279,6 @@ class SlackSmartBot
279
279
  end
280
280
  end
281
281
 
282
- #todo: verify if on slack on anytime nick == config[:nick]
283
282
  if nick == config[:nick] #if message is coming from the bot
284
283
  begin
285
284
  case text
@@ -357,7 +356,7 @@ class SlackSmartBot
357
356
  #todo: verify this
358
357
 
359
358
 
360
- if dest[0] == "C" #only for channels, not for DM
359
+ if dest[0] == "C" or dest[0] == "G" #only for channels, not for DM
361
360
  if @rules_imported.key?(user.id) and @rules_imported[user.id].key?(dchannel)
362
361
  if @bots_created.key?(@rules_imported[user.id][dchannel])
363
362
  if @bots_created[@rules_imported[user.id][dchannel]][:status] != :on
@@ -447,7 +446,7 @@ class SlackSmartBot
447
446
  respond "#{greetings} #{firstname}", dest
448
447
  if @rules_imported.key?(user.id) and @rules_imported[user.id].key?(user.id) and dest[0] == "D"
449
448
  respond "You are using specific rules for channel: <##{@rules_imported[user.id][user.id]}>", dest
450
- elsif @rules_imported.key?(user.id) and @rules_imported[user.id].key?(dchannel) and dest[0] == "C"
449
+ elsif @rules_imported.key?(user.id) and @rules_imported[user.id].key?(dchannel) and (dest[0] == "C" or dest[0] == "G")
451
450
  respond "You are using specific rules for channel: <##{@rules_imported[user.id][dchannel]}>", dest
452
451
  end
453
452
  @listening << from unless @listening.include?(from)
@@ -730,7 +729,7 @@ class SlackSmartBot
730
729
  else
731
730
  if user.id == channel_found.creator or members.include?(user.id)
732
731
  @rules_imported[user.id] = {} unless @rules_imported.key?(user.id)
733
- if dest[0] == "C" #todo: take in consideration bots that are not master
732
+ if dest[0] == "C" or dest[0] == "G" #todo: take in consideration bots that are not master
734
733
  @rules_imported[user.id][dchannel] = channel_found.id
735
734
  else
736
735
  @rules_imported[user.id][user.id] = channel_found.id
@@ -754,7 +753,7 @@ class SlackSmartBot
754
753
  else
755
754
  channel_id = channel
756
755
  end
757
- if dest[0] == "C" #channel
756
+ if dest[0] == "C" or dest[0] == "G" #channel
758
757
  if @rules_imported.key?(user.id) and @rules_imported[user.id].key?(dchannel)
759
758
  if @rules_imported[user.id][dchannel] != channel_id
760
759
  respond "You are not using those rules.", dest
@@ -797,12 +796,12 @@ class SlackSmartBot
797
796
  if ADMIN_USERS.include?(from) #admin user
798
797
  respond "*Commands for administrators:*\n#{help_message.scan(/#\s*help\s*admin:(.*)/).join("\n")}", dest
799
798
  end
800
- if ON_MASTER_BOT and dest[0] == "C"
799
+ if ON_MASTER_BOT and (dest[0] == "C" or dest[0] == "G")
801
800
  respond "*Commands only on Master Channel <##{@channels_id[MASTER_CHANNEL]}>:*\n#{help_message.scan(/#\s*help\s*master:(.*)/).join("\n")}", dest
802
801
  end
803
802
  respond help_message.scan(/#\s*help\s*:(.*)/).join("\n"), dest
804
803
  end
805
- if dest[0] == "C" # on a channel
804
+ if dest[0] == "C" or dest[0] == "G" # on a channel
806
805
  if @rules_imported.key?(user.id) and @rules_imported[user.id].key?(dchannel)
807
806
  if @bots_created.key?(@rules_imported[user.id][dchannel])
808
807
  respond "*You are using rules from another channel: <##{@rules_imported[user.id][dchannel]}>. These are the specific commands for that channel:*", dest
@@ -1008,6 +1007,8 @@ class SlackSmartBot
1008
1007
  end
1009
1008
  end
1010
1009
 
1010
+ respond "Running", dest if code.size > 100
1011
+
1011
1012
  begin
1012
1013
  ruby = "ruby -e \"#{code.gsub('"', '\"')}\""
1013
1014
  ruby = ("cd #{project_folder} &&" + ruby) if defined?(project_folder)
@@ -1039,7 +1040,7 @@ class SlackSmartBot
1039
1040
  def respond(msg, dest = nil)
1040
1041
  if dest.nil?
1041
1042
  client.message(channel: @channels_id[CHANNEL], text: msg, as_user: true)
1042
- elsif dest[0] == "C" # channel
1043
+ elsif dest[0] == "C" or dest[0] == "G" # channel
1043
1044
  client.message(channel: dest, text: msg, as_user: true)
1044
1045
  elsif dest[0] == "D" # Direct message
1045
1046
  send_msg_user(dest, msg)
@@ -1053,7 +1054,7 @@ class SlackSmartBot
1053
1054
  def ask(question, context, to, dest = nil)
1054
1055
  if dest.nil?
1055
1056
  client.message(channel: @channels_id[CHANNEL], text: "#{to}: #{question}", as_user: true)
1056
- elsif dest[0] == "C" # channel
1057
+ elsif dest[0] == "C" or dest[0] == "G" # channel
1057
1058
  client.message(channel: dest, text: "#{to}: #{question}", as_user: true)
1058
1059
  elsif dest[0] == "D" #private message
1059
1060
  send_msg_user(dest, "#{to}: #{question}")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slack-smart-bot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mario Ruiz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-01 00:00:00.000000000 Z
11
+ date: 2019-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: slack-ruby-client