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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5cf3a2515b0324a3cb297ccefe1ed0fcca479f9605a7c55325e64919c5a9f022
4
- data.tar.gz: 43e8e15ea2f8f61c8db5b72d8b7b3ecce408c42fffef9bff6b5747ffa74ecbba
3
+ metadata.gz: fd9030df69e73980c92158b45d884e250c0829c2f38a4eb2fbe29c25b15561e2
4
+ data.tar.gz: a5f9540078e64269bb8249a98c4d2e1f1fe72fee16a390bb01d65cc875cc9212
5
5
  SHA512:
6
- metadata.gz: cb59dc6b31e4dd6b11b8ecb00c162b6ae3ebca9010249cccfa6b47b5aa94fc451fe90cf7e00c1dac769b64f87fcd8ca54f02a501d7c74ee3c1c53e8ee85e185c
7
- data.tar.gz: 3bb4f21333f3bdc1559b99270c620885cd412a2493d9e9de22bf1f3bb336fdf0dc5c4d1d1095bacd05abf55180279db166e1b3edc02ce4770509ece436cddc1c
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
@@ -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 = ENV['SLACK_API_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
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require './lib/slack_search'
3
+ require_relative 'slack_search'
4
4
 
5
5
  # Obtains data of user from Slack and then uses them to mimic looks.
6
6
  module SlackImage
@@ -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.1
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: