slack-smart-bot 0.7.1 → 0.7.2

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