enerbot-slack 1.0.1 → 1.0.5
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/enerbot-slack.rb +2 -0
- data/lib/modules/slack_client.rb +1 -1
- data/lib/modules/slack_console.rb +24 -0
- data/lib/modules/slack_image.rb +1 -1
- data/lib/modules/slack_realtime.rb +32 -0
- metadata +31 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd9030df69e73980c92158b45d884e250c0829c2f38a4eb2fbe29c25b15561e2
|
4
|
+
data.tar.gz: a5f9540078e64269bb8249a98c4d2e1f1fe72fee16a390bb01d65cc875cc9212
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6eaf009cb4278106508a16ae012d16536d429ec28a3f45af3dbf2e213e54b06ce9261db870902ce998353cf00deee247adc01cf050aaf4f6fad8b3ccdfd84d6c
|
7
|
+
data.tar.gz: 401484f57ec4878d4742a9ff5f5a4f200ef951b8a17b067a02f89aab345b4ba91ad96afe7a785158ec72f1efd553c702044d8a4a650e6fbf431b97a73e2312f5
|
data/lib/enerbot-slack.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'slack-ruby-client'
|
2
|
+
require_relative 'modules/slack_realtime'
|
2
3
|
require_relative 'modules/slack_message'
|
3
4
|
require_relative 'modules/slack_search'
|
4
5
|
require_relative 'modules/slack_image'
|
@@ -7,6 +8,7 @@ require_relative 'credentials'
|
|
7
8
|
|
8
9
|
# Groups client initialization with instance parameters
|
9
10
|
class EnerbotSlack < Credentials
|
11
|
+
include SlackRealTime
|
10
12
|
include SlackMessage
|
11
13
|
include SlackImage
|
12
14
|
include SlackFormat
|
data/lib/modules/slack_client.rb
CHANGED
@@ -4,7 +4,7 @@ require 'slack-ruby-client'
|
|
4
4
|
|
5
5
|
# Client initialization that powers the rest of interactions
|
6
6
|
module SlackClient
|
7
|
-
def configure_client(type = 'web', token =
|
7
|
+
def configure_client(type = 'web', token = @bot_token)
|
8
8
|
Slack.configure do |config|
|
9
9
|
config.token = token
|
10
10
|
config.raise 'Missing Bot token' unless config.token
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'colorize'
|
2
|
+
require_relative 'slack_search'
|
3
|
+
|
4
|
+
# Module to read data from Slack and show it on console
|
5
|
+
module SlackConsole
|
6
|
+
include SlackSearch
|
7
|
+
|
8
|
+
def format_new_message(data)
|
9
|
+
user_p = if data.subtype == 'bot_message'
|
10
|
+
data.username
|
11
|
+
else
|
12
|
+
user = get_user_info(data.user)
|
13
|
+
user.name
|
14
|
+
end
|
15
|
+
text = data.text
|
16
|
+
channel_p = conversation_info(data.channel)
|
17
|
+
if @current_channel == channel_p.id
|
18
|
+
else
|
19
|
+
print "\n--- #{channel_p.name} ---".green
|
20
|
+
end
|
21
|
+
print "\n#{user_p}: ".yellow + text.blue
|
22
|
+
@current_channel = channel_p.id
|
23
|
+
end
|
24
|
+
end
|
data/lib/modules/slack_image.rb
CHANGED
@@ -0,0 +1,32 @@
|
|
1
|
+
require_relative 'slack_message'
|
2
|
+
require_relative 'slack_console'
|
3
|
+
require './actions/modes'
|
4
|
+
|
5
|
+
# Module for reading chat incoming messages
|
6
|
+
module SlackRealTime
|
7
|
+
include SlackConsole
|
8
|
+
include DirectiveLookup
|
9
|
+
|
10
|
+
def share_message(data, output)
|
11
|
+
case output
|
12
|
+
when 'slack'
|
13
|
+
check_type(data)
|
14
|
+
when 'console'
|
15
|
+
format_new_message(data)
|
16
|
+
else
|
17
|
+
format_new_message(data)
|
18
|
+
check_type(data)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def single_client(output = ENV['SLACK_DEFAULT_OUTPUT'])
|
23
|
+
@time_client.on :hello do
|
24
|
+
puts("Connected to '#{@time_client.team.name}' team at https://#{@time_client.team.domain}.slack.com.")
|
25
|
+
end
|
26
|
+
|
27
|
+
@time_client.on :message do |data|
|
28
|
+
share_message(data, output)
|
29
|
+
end
|
30
|
+
@time_client.start!
|
31
|
+
end
|
32
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enerbot-slack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luciano Adonis
|
@@ -10,6 +10,34 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2024-02-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: async-websocket
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.8.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.8.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bson_ext
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
13
41
|
- !ruby/object:Gem::Dependency
|
14
42
|
name: colorize
|
15
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -62,9 +90,11 @@ files:
|
|
62
90
|
- lib/enerbot-slack.rb
|
63
91
|
- lib/modules/slack_admin.rb
|
64
92
|
- lib/modules/slack_client.rb
|
93
|
+
- lib/modules/slack_console.rb
|
65
94
|
- lib/modules/slack_format.rb
|
66
95
|
- lib/modules/slack_image.rb
|
67
96
|
- lib/modules/slack_message.rb
|
97
|
+
- lib/modules/slack_realtime.rb
|
68
98
|
- lib/modules/slack_search.rb
|
69
99
|
homepage: https://rubygems.org/gems/core_slack
|
70
100
|
licenses:
|