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.
- checksums.yaml +4 -4
- data/lib/slack-smart-bot.rb +14 -13
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9dd7ec5a931f45aeef862b601c89dd869edfb317e5e05f47fd997f3c48af0b0f
|
4
|
+
data.tar.gz: b6c6171727919ba7f8200d9ff14f299e19a1d0b07c62263759758ed88ba4f14e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82fded753140cd4b5f1635ed3a22f6f5c156b57e7d93d9b45a1f8f643d8ed92acb5a6c83aabfb005feb753cc73c05e9d6de1c481532f26a851e21ccdb22aa30f
|
7
|
+
data.tar.gz: b81648ea8b9ff046d0a379941acbc6db78823bb1d5c2b3d95a57ed11b77c8a5ada4f398c443cefcf7251dc0ba348c1eebddcab784dddceb74f70b105300641cb
|
data/lib/slack-smart-bot.rb
CHANGED
@@ -79,7 +79,7 @@ class SlackSmartBot
|
|
79
79
|
end
|
80
80
|
end
|
81
81
|
|
82
|
-
# rules imported only for
|
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.
|
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-
|
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
|