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 +4 -4
- data/lib/baez_slack.rb +3 -1
- data/lib/modules/message_slack.rb +26 -6
- data/lib/modules/read_slack.rb +1 -1
- data/lib/modules/regex_slack.rb +25 -0
- metadata +24 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a834de6db6739188c3546716c0bbe2d9b1bb9e4878c554d4ced6139e739d9e97
|
4
|
+
data.tar.gz: e8328b57e5bc759940950bf9f7d66851e5cf62b97cb485904dc27f207d68ce77
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a83363277d7f62766bd9dcc2147f708b79f8b716a56a1fa6b2357625921483ef54cb478cd80bfaf97dfa7ad874ed1d124b0e6d45d375ebaf7b08df2cf060f169
|
7
|
+
data.tar.gz: 4d61b356ad98b7a05bde5e834e276cc91ee483d9b644af134ec3363569299914d1513d673834576e5ac6d6b6f08bd908ba12c6c71e9b1c8df05acd5f3c923142
|
data/lib/baez_slack.rb
CHANGED
@@ -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
|
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
|
-
|
25
|
-
|
26
|
-
|
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)
|
data/lib/modules/read_slack.rb
CHANGED
@@ -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
|
+
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-
|
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:
|
57
|
+
name: rspec
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|
45
59
|
requirements:
|
46
|
-
- - "
|
60
|
+
- - "~>"
|
47
61
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
49
|
-
type: :
|
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: '
|
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
|
-
|
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
|