baez_slack 0.0.4 → 0.0.9

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: db9673b9d90e9783080c90a167341201fd6321f29ae7d83b81c77fb473c8c55a
4
- data.tar.gz: c74a9806cbc5199a96ce844ac5dfe26a1d3983492a91c92d33f2e3cf1e3107da
3
+ metadata.gz: a834de6db6739188c3546716c0bbe2d9b1bb9e4878c554d4ced6139e739d9e97
4
+ data.tar.gz: e8328b57e5bc759940950bf9f7d66851e5cf62b97cb485904dc27f207d68ce77
5
5
  SHA512:
6
- metadata.gz: 49aaf81162154f94d909e4535327bdc56dd458b4e5174cdaeaac586605722ae15ebd24c189096d6c3fca85922211e4d9c94fd8e4c06f8507403a66cc4c9d3e16
7
- data.tar.gz: 3e7181e3df6e75f5156007bcad9b8a7caaf65c7832e841e37ad250a8f30a5f06663e1b938957f35d975b6af09f8892a06640d4b91b4b917abfc5589a135ccf7b
6
+ metadata.gz: a83363277d7f62766bd9dcc2147f708b79f8b716a56a1fa6b2357625921483ef54cb478cd80bfaf97dfa7ad874ed1d124b0e6d45d375ebaf7b08df2cf060f169
7
+ data.tar.gz: 4d61b356ad98b7a05bde5e834e276cc91ee483d9b644af134ec3363569299914d1513d673834576e5ac6d6b6f08bd908ba12c6c71e9b1c8df05acd5f3c923142
@@ -9,9 +9,10 @@ require_relative "credentials"
9
9
  class BaezSlack < Credentials
10
10
  include MessageSlack
11
11
  include ReadSlack
12
+ include RegexpSlack
12
13
  include SearchOnSlack
13
14
 
14
- def initialize(name = '', image = '', token = nil)
15
+ def initialize(name: '', image: '', token: nil, as_user: false)
15
16
  set_credentials
16
17
 
17
18
  Slack.configure do |config|
@@ -21,6 +22,7 @@ class BaezSlack < Credentials
21
22
 
22
23
  @bot_name = name unless name.empty?
23
24
  @bot_icon = image unless image.empty?
25
+ @bot_user = as_user
24
26
 
25
27
  @time_client ||= Slack::RealTime::Client.new
26
28
  @web_client ||= Slack::Web::Client.new
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'search_slack'
2
4
 
3
5
  # Module for message interactions on Slack
@@ -21,10 +23,10 @@ module MessageSlack
21
23
  text = ''
22
24
  data.each { |v| text << "#{v}\n" }
23
25
  [{
24
- "pretext": title,
25
- "color": color,
26
- "text": text
27
- }]
26
+ "pretext": title,
27
+ "color": color,
28
+ "text": text
29
+ }]
28
30
  end
29
31
 
30
32
  def send_message(text, data, ts = nil)
@@ -33,7 +35,8 @@ module MessageSlack
33
35
  text: text,
34
36
  icon_url: @bot_icon,
35
37
  username: @bot_name,
36
- thread_ts: @thread
38
+ thread_ts: @thread,
39
+ as_user: @bot_user
37
40
  rescue Slack::Web::Api::Errors::SlackError => e
38
41
  print e.message
39
42
  false
@@ -50,7 +53,24 @@ module MessageSlack
50
53
  attachments: attachment,
51
54
  icon_url: @bot_icon,
52
55
  username: @bot_name,
53
- thread_ts: @thread
56
+ thread_ts: @thread,
57
+ as_user: @bot_user
58
+ end
59
+
60
+ def send_file(path, data, ts = nil)
61
+ file = path
62
+ discern_end(data, ts)
63
+ @web_client.files_upload channels: @channel,
64
+ icon_url: @bot_icon,
65
+ username: @bot_name,
66
+ thread_ts: @thread,
67
+ as_user: @bot_user,
68
+ file: Faraday::UploadIO.new(file, 'text'),
69
+ title: File.basename(file),
70
+ filename: File.basename(file)
71
+ rescue Slack::Web::Api::Errors::SlackError => e
72
+ print e.message
73
+ false
54
74
  end
55
75
 
56
76
  def add_reaction(icon, channel, thread)
@@ -19,7 +19,7 @@ module ReadSlack
19
19
  end
20
20
  end
21
21
 
22
- def single_client(output = ENV['SLACK_C_OUTPUT'])
22
+ def single_client(output = ENV['SLACK_DEFAULT_OUTPUT'])
23
23
  @time_client.on :message do |data|
24
24
  share_message(data, output)
25
25
  end
@@ -0,0 +1,25 @@
1
+ # Module for regular expressions that are common
2
+ module RegexpSlack
3
+ def get_values_from(text, type = 'user')
4
+ pattern = case type
5
+ when 'user'
6
+ /<@(.*)>/
7
+ when 'channel'
8
+ /<#(.*)\|(.*)>/
9
+ end
10
+ text.match(pattern)
11
+ end
12
+
13
+ def echo(data, _pattern = '\echo')
14
+ match = data.match(/^\\echo\s(\<[#@])?((.*)\|)?(.*?)(\>)? (.*?)$/i)
15
+ unless match.nil?
16
+ channel = match.captures[2] || match.captures[3]
17
+ text = match.captures[5]
18
+ check_ts = channel.match(/(.*)-(\d*\.\d*)/)
19
+ # Useless... until someone find something
20
+ channel = check_ts.captures[0] unless check_ts.nil?
21
+ thread = check_ts.captures[1] unless check_ts.nil?
22
+ end
23
+ [text, channel, thread]
24
+ end
25
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: baez_slack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luciano Adonis
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-07-01 00:00:00.000000000 Z
12
+ date: 2020-07-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: async-websocket
@@ -25,6 +25,20 @@ dependencies:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: 0.8.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: colorize
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: 0.8.1
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: 0.8.1
28
42
  - !ruby/object:Gem::Dependency
29
43
  name: slack-ruby-client
30
44
  requirement: !ruby/object:Gem::Requirement
@@ -40,19 +54,19 @@ dependencies:
40
54
  - !ruby/object:Gem::Version
41
55
  version: 0.14.5
42
56
  - !ruby/object:Gem::Dependency
43
- name: colorize
57
+ name: rspec
44
58
  requirement: !ruby/object:Gem::Requirement
45
59
  requirements:
46
- - - ">="
60
+ - - "~>"
47
61
  - !ruby/object:Gem::Version
48
- version: '0'
49
- type: :runtime
62
+ version: '3.2'
63
+ type: :development
50
64
  prerelease: false
51
65
  version_requirements: !ruby/object:Gem::Requirement
52
66
  requirements:
53
- - - ">="
67
+ - - "~>"
54
68
  - !ruby/object:Gem::Version
55
- version: '0'
69
+ version: '3.2'
56
70
  description: The dream of enerbot
57
71
  email: luciano.adonisv@gmail.com
58
72
  executables: []
@@ -64,6 +78,7 @@ files:
64
78
  - lib/modules/console_slack.rb
65
79
  - lib/modules/message_slack.rb
66
80
  - lib/modules/read_slack.rb
81
+ - lib/modules/regex_slack.rb
67
82
  - lib/modules/search_slack.rb
68
83
  homepage: https://rubygems.org/gems/core_slack
69
84
  licenses:
@@ -84,8 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
84
99
  - !ruby/object:Gem::Version
85
100
  version: '0'
86
101
  requirements: []
87
- rubyforge_project:
88
- rubygems_version: 2.7.6
102
+ rubygems_version: 3.0.3
89
103
  signing_key:
90
104
  specification_version: 4
91
105
  summary: Core functions for any kind of interaction with Slack