ruboty-slack_reaction_added 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 2dcd98854d9802c80d92d7e30a0664e08c20d52c018e0c002198c03cf0ab28df
4
+ data.tar.gz: 3349bee5d5d493039bcd854ca87ef105dd1286dd39dc0b933d81c025d627dd97
5
+ SHA512:
6
+ metadata.gz: 4b48b80274a8964da2e4441b806997a0641b8236375517a76f70cc7c26dfe3b1295e76063ae04faac01d079a9b9072ff3738a5bc16dce81f6533c813bb4b58ac
7
+ data.tar.gz: f58de517b4c83ae6b0ddb9b6a482cd93eeaa48a43001eab57fca8a3134d6ee07bb3cd2b609dd31f7bca23fffab8e8d3ec5f3f541d83132bf41ed015c541d98cd
data/.editorconfig ADDED
@@ -0,0 +1,24 @@
1
+ root = true
2
+
3
+ [*]
4
+ indent_style = space
5
+ indent_size = 4
6
+
7
+ [*.{rb,gemspec}]
8
+ indent_size = 2
9
+ trim_trailing_whitespace = true
10
+
11
+ [*.{yml,yaml}]
12
+ indent_size = 2
13
+ trim_trailing_whitespace = true
14
+
15
+ [*.md]
16
+ indent_size = 2
17
+ trim_trailing_whitespace = false
18
+
19
+ [Gemfile]
20
+ indent_size = 2
21
+ trim_trailing_whitespace = true
22
+
23
+ [Makefile]
24
+ indent_style = tab
@@ -0,0 +1,26 @@
1
+ on:
2
+ push:
3
+ tags:
4
+ - 'v*'
5
+
6
+ name: Publish
7
+ jobs:
8
+ publish:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v2
12
+ - name: Set up Ruby 2.6
13
+ uses: actions/setup-ruby@v1
14
+ with:
15
+ version: 2.6.x
16
+ - name: Publish to RubyGems
17
+ run: |
18
+ gem --version
19
+ mkdir -p $HOME/.gem
20
+ touch $HOME/.gem/credentials
21
+ chmod 0600 $HOME/.gem/credentials
22
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
23
+ gem build *.gemspec
24
+ gem push *.gem
25
+ env:
26
+ GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_AUTH_TOKEN}}
data/.gitignore ADDED
@@ -0,0 +1,58 @@
1
+ *.gem
2
+ *.rbc
3
+ /.config
4
+ /coverage/
5
+ /InstalledFiles
6
+ /pkg/
7
+ /spec/reports/
8
+ /spec/examples.txt
9
+ /test/tmp/
10
+ /test/version_tmp/
11
+ /tmp/
12
+
13
+ # Used by dotenv library to load environment variables.
14
+ # .env
15
+
16
+ # Ignore Byebug command history file.
17
+ .byebug_history
18
+
19
+ ## Specific to RubyMotion:
20
+ .dat*
21
+ .repl_history
22
+ build/
23
+ *.bridgesupport
24
+ build-iPhoneOS/
25
+ build-iPhoneSimulator/
26
+
27
+ ## Specific to RubyMotion (use of CocoaPods):
28
+ #
29
+ # We recommend against adding the Pods directory to your .gitignore. However
30
+ # you should judge for yourself, the pros and cons are mentioned at:
31
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
32
+ #
33
+ # vendor/Pods/
34
+
35
+ ## Documentation cache and generated files:
36
+ /.yardoc/
37
+ /_yardoc/
38
+ /doc/
39
+ /rdoc/
40
+
41
+ ## Environment normalization:
42
+ /.bundle/
43
+ /vendor/bundle
44
+ /lib/bundler/man/
45
+
46
+ # for a library or gem, you might want to ignore these files since the code is
47
+ # intended to run in multiple environments; otherwise, check them in:
48
+ # Gemfile.lock
49
+ # .ruby-version
50
+ # .ruby-gemset
51
+
52
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
53
+ .rvmrc
54
+
55
+ # Used by RuboCop. Remote config files pulled in from inherit_from directive.
56
+ # .rubocop-https?--*
57
+
58
+ .env
data/.rubocop.yml ADDED
@@ -0,0 +1,5 @@
1
+ Style/Documentation:
2
+ Enabled: false
3
+
4
+ Style/RegexpLiteral:
5
+ MaxSlashes: 0
data/Dockerfile ADDED
@@ -0,0 +1,11 @@
1
+ FROM ruby:2.7.2-alpine
2
+
3
+ RUN apk update && apk upgrade \
4
+ && apk add --no-cache -q -f git build-base openssl tzdata
5
+
6
+ WORKDIR /usr/src/ruboty
7
+
8
+ COPY . .
9
+ RUN bundle install
10
+
11
+ CMD ["./run.sh"]
data/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in ruboty-slack_reaction_added.gemspec
4
+ gemspec
5
+
6
+ group :development, :test do
7
+ gem "ruboty"
8
+ gem "ruboty-slack_rtm"
9
+
10
+ gem 'ruboty-echo'
11
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,99 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ ruboty-slack_reaction_added (0.1.0)
5
+ faraday (~> 0.11)
6
+ ruboty (>= 1.1.4)
7
+ ruboty-slack_rtm (>= 3.0)
8
+ slack-api (~> 1.6)
9
+ websocket-client-simple (~> 0.3.0)
10
+
11
+ GEM
12
+ remote: https://rubygems.org/
13
+ specs:
14
+ activesupport (6.1.3)
15
+ concurrent-ruby (~> 1.0, >= 1.0.2)
16
+ i18n (>= 1.6, < 2)
17
+ minitest (>= 5.1)
18
+ tzinfo (~> 2.0)
19
+ zeitwerk (~> 2.3)
20
+ ast (2.4.2)
21
+ concurrent-ruby (1.1.8)
22
+ dotenv (2.7.6)
23
+ event_emitter (0.2.6)
24
+ eventmachine (1.2.7)
25
+ faraday (0.17.4)
26
+ multipart-post (>= 1.2, < 3)
27
+ faraday_middleware (0.10.1)
28
+ faraday (>= 0.7.4, < 1.0)
29
+ faye-websocket (0.10.9)
30
+ eventmachine (>= 0.12.0)
31
+ websocket-driver (>= 0.5.1)
32
+ i18n (1.8.9)
33
+ concurrent-ruby (~> 1.0)
34
+ mem (0.1.5)
35
+ minitest (5.14.4)
36
+ multi_json (1.15.0)
37
+ multipart-post (2.1.1)
38
+ parallel (1.20.1)
39
+ parser (3.0.0.0)
40
+ ast (~> 2.4.1)
41
+ rainbow (3.0.0)
42
+ rake (13.0.3)
43
+ regexp_parser (2.1.1)
44
+ rexml (3.2.4)
45
+ rubocop (1.11.0)
46
+ parallel (~> 1.10)
47
+ parser (>= 3.0.0.0)
48
+ rainbow (>= 2.2.2, < 4.0)
49
+ regexp_parser (>= 1.8, < 3.0)
50
+ rexml
51
+ rubocop-ast (>= 1.2.0, < 2.0)
52
+ ruby-progressbar (~> 1.7)
53
+ unicode-display_width (>= 1.4.0, < 3.0)
54
+ rubocop-ast (1.4.1)
55
+ parser (>= 2.7.1.5)
56
+ ruboty (1.3.1)
57
+ activesupport
58
+ bundler
59
+ dotenv
60
+ mem
61
+ slop
62
+ ruboty-echo (0.1.1)
63
+ ruboty
64
+ ruboty-slack_rtm (3.2.2)
65
+ faraday (~> 0.11)
66
+ ruboty (>= 1.1.4)
67
+ slack-api (~> 1.6)
68
+ websocket-client-simple (~> 0.3.0)
69
+ ruby-progressbar (1.11.0)
70
+ slack-api (1.6.1)
71
+ faraday (~> 0.11)
72
+ faraday_middleware (~> 0.10.0)
73
+ faye-websocket (~> 0.10.6)
74
+ multi_json (~> 1.0, >= 1.0.3)
75
+ slop (4.8.2)
76
+ tzinfo (2.0.4)
77
+ concurrent-ruby (~> 1.0)
78
+ unicode-display_width (2.0.0)
79
+ websocket (1.2.9)
80
+ websocket-client-simple (0.3.0)
81
+ event_emitter
82
+ websocket
83
+ websocket-driver (0.7.3)
84
+ websocket-extensions (>= 0.1.0)
85
+ websocket-extensions (0.1.5)
86
+ zeitwerk (2.4.2)
87
+
88
+ PLATFORMS
89
+ ruby
90
+
91
+ DEPENDENCIES
92
+ bundler (>= 1.7)
93
+ rake (>= 12.3)
94
+ rubocop (>= 0.28.0)
95
+ ruboty-echo
96
+ ruboty-slack_reaction_added!
97
+
98
+ BUNDLED WITH
99
+ 2.1.4
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2021 srz_zumix
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/Makefile ADDED
@@ -0,0 +1,26 @@
1
+ ifeq (,$(wildcard ./.env))
2
+ include .env
3
+ endif
4
+
5
+ #
6
+ # help
7
+ #
8
+ help: ## show help
9
+ @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sed -e 's/^GNUmakefile://' | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
10
+
11
+ build: ## docker-compose build
12
+ docker-compose build
13
+
14
+ up: ## docker-compose up
15
+ docker-compose up -d --build
16
+
17
+ down: ## docker-compose down
18
+ docker-compose down
19
+
20
+ logs: ## docker-compose logs
21
+ docker-compose logs ruboty
22
+
23
+ restart: ## restart docker conmpose (with build)
24
+ docker-compose down
25
+ make -C . build
26
+ docker-compose up -d
data/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # ruboty-slack_reaction_added
2
+
3
+ Slack Reaction added event extension for [RubotySlackRTM][].
4
+
5
+ [RubotySlackRTM]:https://github.com/rosylilly/ruboty-slack_rtm
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require 'bundler/gem_tasks'
@@ -0,0 +1,10 @@
1
+ version: '2'
2
+ services:
3
+ ruboty:
4
+ build:
5
+ context: .
6
+ dockerfile: Dockerfile
7
+ restart: always
8
+ command: ./run.sh
9
+ environment:
10
+ TZ: Asia/Tokyo
@@ -0,0 +1,9 @@
1
+ require 'ruboty/slack_reaction_added/version'
2
+ require 'ruboty/slack_reaction_added/extension/action'
3
+ require 'ruboty/slack_reaction_added/extension/adapter'
4
+ require 'ruboty/slack_reaction_added/extension/client'
5
+ require 'ruboty/slack_reaction_added/extension/message'
6
+
7
+ if ENV["DISABLE_DEFAULT_REACTION_HANDLERS"] != "1"
8
+ require 'ruboty/slack_reaction_added/handlers/handler.rb'
9
+ end
@@ -0,0 +1,14 @@
1
+
2
+ module Ruboty
3
+ module SlackReactionAdded
4
+ module Actions
5
+ class ReactionPing < Ruboty::Actions::Base
6
+
7
+ def call
8
+ message.reply('pong')
9
+ end
10
+
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,21 @@
1
+
2
+ module Ruboty
3
+ module SlackReactionAdded
4
+ module Actions
5
+ class Thumbup < Ruboty::Actions::Base
6
+
7
+ def call
8
+ # Ruboty.logger.info message.reaction
9
+ # Ruboty.logger.info message.reaction_by
10
+ unless message.reaction_by == Ruboty::Robot.name
11
+ case message.reaction
12
+ when '+1'
13
+ message.add_reaction('thumbsup')
14
+ end
15
+ end
16
+ end
17
+
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,28 @@
1
+ module Ruboty
2
+ class Action
3
+ module ReactionAddedAction
4
+ def call(handler, message, options = {})
5
+ if message.reaction
6
+ if allow_reaction? || reaction_only?
7
+ # Ruboty.logger.info "reaction"
8
+ super(handler, message, options)
9
+ end
10
+ else
11
+ unless reaction_only?
12
+ super(handler, message, options)
13
+ end
14
+ end
15
+ end
16
+
17
+ def allow_reaction?
18
+ !!@options[:allow_reaction]
19
+ end
20
+
21
+ def reaction_only?
22
+ !!@options[:reaction_only]
23
+ end
24
+ end
25
+
26
+ prepend ReactionAddedAction
27
+ end
28
+ end
@@ -0,0 +1,68 @@
1
+
2
+ module Ruboty
3
+ module Adapters
4
+ class SlackRTM < Base
5
+ module ReactionAddedSlackRTM
6
+ def on_reaction_added(data)
7
+ # Ruboty.logger.info data
8
+ channel = data['item']['channel']
9
+ histories = @client.conversations_history(channel: channel, latest: data['item']['ts'], inclusive: true, limit: 1)
10
+ message = histories['messages'][0]
11
+ permalink = @client.chat_getPermalink(channel: channel, message_ts: data['item']['ts'])
12
+ message['permalink'] = permalink['permalink']
13
+ message['channel'] = channel
14
+ message['reaction_added'] = data
15
+ # Ruboty.logger.info message
16
+ # on_message(message)
17
+ on_message_from_reaction_added(message)
18
+ end
19
+
20
+ def on_message_from_reaction_added(data)
21
+ user = user_info(data['user']) || {}
22
+ reaction_added_user = user_info(data['reaction_added']['user']) || {}
23
+
24
+ channel = channel_info(data['channel'])
25
+
26
+ if (data['subtype'] == 'bot_message' || user['is_bot']) && ENV['SLACK_IGNORE_BOT_MESSAGE'] == '1'
27
+ return
28
+ end
29
+
30
+ if channel
31
+ return if channel['name'] == (ENV['SLACK_GENERAL_NAME'] || 'general') && ENV['SLACK_IGNORE_GENERAL'] == '1'
32
+
33
+ channel_to = expose_channel_name? ? "##{channel['name']}" : channel['id']
34
+ else # direct message
35
+ channel_to = data['channel']
36
+ end
37
+
38
+ message_info = {
39
+ from: data['channel'],
40
+ from_name: user['name'],
41
+ to: channel_to,
42
+ channel: channel,
43
+ user: user,
44
+ ts: data['ts'],
45
+ thread_ts: data['thread_ts'],
46
+ time: Time.at(data['ts'].to_f),
47
+ reaction: data['reaction_added']['reaction'],
48
+ reaction_by: reaction_added_user['name']
49
+ }
50
+
51
+
52
+ text, mention_to = extract_mention(data['text'])
53
+ robot.receive(message_info.merge(body: text, mention_to: mention_to))
54
+
55
+ (data['attachments'] || []).each do |attachment|
56
+ body, body_mention_to = extract_mention(attachment['fallback'] || "#{attachment['text']} #{attachment['pretext']}".strip)
57
+
58
+ unless body.empty?
59
+ robot.receive(message_info.merge(body: body, mention_to: body_mention_to))
60
+ end
61
+ end
62
+ end
63
+ end
64
+
65
+ prepend ReactionAddedSlackRTM
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,40 @@
1
+ require 'slack'
2
+
3
+ module Ruboty
4
+ module SlackRTM
5
+ class Client
6
+ module ReactionAddedClient
7
+ # def initialize(websocket_url:)
8
+ # Ruboty.logger.info websocket_url.to_s
9
+ # super(websocket_url: websocket_url)
10
+ # end
11
+
12
+ def on_text(&block)
13
+ @client.on(:message) do |message|
14
+ case message.type
15
+ when :ping
16
+ Ruboty.logger.debug("#{Client.name}: Received ping message")
17
+ send('', type: 'pong')
18
+ when :pong
19
+ Ruboty.logger.debug("#{Client.name}: Received pong message")
20
+ when :text
21
+ block.call(JSON.parse(message.data))
22
+ when :reaction_added
23
+ case message.data.item.type
24
+ when :message
25
+ # Ruboty.logger.info message.data
26
+ block.call(JSON.parse(message.data))
27
+ else
28
+ Ruboty.logger.warn("#{Client.name}: Received unknown reaction item type=#{message.data.item.type}: #{message.data}")
29
+ end
30
+ else
31
+ Ruboty.logger.warn("#{Client.name}: Received unknown message type=#{message.type}: #{message.data}")
32
+ end
33
+ end
34
+ end
35
+ end
36
+
37
+ prepend ReactionAddedClient
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,26 @@
1
+
2
+ module Ruboty
3
+ class Message
4
+ module ReactionAddedMessage
5
+ def add_reaction(reaction)
6
+ channel_id = @original[:channel]["id"]
7
+ timestamp = @original[:ts]
8
+ robot.add_reaction(reaction, channel_id, timestamp)
9
+ end
10
+
11
+ def reaction
12
+ @original[:reaction]
13
+ end
14
+
15
+ def reaction_by
16
+ @original[:reaction_by]
17
+ end
18
+
19
+ def dump_original(key)
20
+ Ruboty.logger.info @original[key]
21
+ end
22
+ end
23
+
24
+ prepend ReactionAddedMessage
25
+ end
26
+ end
@@ -0,0 +1,31 @@
1
+ require 'ruboty/slack_reaction_added/actions/reaction_ping.rb'
2
+ require 'ruboty/slack_reaction_added/actions/thumbup.rb'
3
+
4
+ module Ruboty
5
+ module SlackReactionAdded
6
+ module Handlers
7
+ class Handler < Ruboty::Handlers::Base
8
+
9
+ on /ping\z/,
10
+ name: 'reaction_able_ping',
11
+ description: 'ping allow reaction',
12
+ allow_reaction: true
13
+
14
+ on /.*\z/,
15
+ name: 'thumbup',
16
+ description: 'thumbup',
17
+ reaction_only: true,
18
+ all: true
19
+
20
+ def reaction_able_ping(message)
21
+ Ruboty::SlackReactionAdded::Actions::ReactionPing.new(message).call
22
+ end
23
+
24
+ def thumbup(message)
25
+ Ruboty::SlackReactionAdded::Actions::Thumbup.new(message).call
26
+ end
27
+
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,5 @@
1
+ module Ruboty
2
+ module SlackReactionAdded
3
+ VERSION = '0.1.0'.freeze
4
+ end
5
+ end
@@ -0,0 +1,30 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'ruboty/slack_reaction_added/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'ruboty-slack_reaction_added'
8
+ spec.version = Ruboty::SlackReactionAdded::VERSION
9
+ spec.authors = ['srz_zumix']
10
+ spec.email = ['']
11
+ spec.summary = 'Slack reaction added extension for Ruboty'
12
+ spec.description = spec.summary
13
+ spec.homepage = 'https://github.com/srz-zumix/ruboty-slack_reaction_added'
14
+ spec.license = 'MIT'
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ['lib']
20
+
21
+ spec.add_development_dependency 'bundler', '>= 1.7'
22
+ spec.add_development_dependency 'rake', '>= 12.3'
23
+ spec.add_development_dependency 'rubocop', '>= 0.28.0'
24
+
25
+ spec.add_dependency 'ruboty', '>= 1.1.4'
26
+ spec.add_dependency 'slack-api', '~> 1.6'
27
+ spec.add_dependency 'ruboty-slack_rtm', '>= 3.0'
28
+ spec.add_dependency 'websocket-client-simple', '~> 0.3.0'
29
+ spec.add_dependency 'faraday', '~> 0.11'
30
+ end
data/run.sh ADDED
@@ -0,0 +1,3 @@
1
+ #!/bin/sh
2
+
3
+ bundle exec ruboty --dotenv
metadata ADDED
@@ -0,0 +1,178 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ruboty-slack_reaction_added
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - srz_zumix
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-03-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '12.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '12.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubocop
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 0.28.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 0.28.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: ruboty
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 1.1.4
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 1.1.4
69
+ - !ruby/object:Gem::Dependency
70
+ name: slack-api
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '1.6'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '1.6'
83
+ - !ruby/object:Gem::Dependency
84
+ name: ruboty-slack_rtm
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '3.0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '3.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: websocket-client-simple
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.3.0
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.3.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: faraday
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.11'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.11'
125
+ description: Slack reaction added extension for Ruboty
126
+ email:
127
+ - ''
128
+ executables: []
129
+ extensions: []
130
+ extra_rdoc_files: []
131
+ files:
132
+ - ".editorconfig"
133
+ - ".github/workflows/release.yml"
134
+ - ".gitignore"
135
+ - ".rubocop.yml"
136
+ - Dockerfile
137
+ - Gemfile
138
+ - Gemfile.lock
139
+ - LICENSE
140
+ - Makefile
141
+ - README.md
142
+ - Rakefile
143
+ - docker-compose.yml
144
+ - lib/ruboty/slack_reaction_added.rb
145
+ - lib/ruboty/slack_reaction_added/actions/reaction_ping.rb
146
+ - lib/ruboty/slack_reaction_added/actions/thumbup.rb
147
+ - lib/ruboty/slack_reaction_added/extension/action.rb
148
+ - lib/ruboty/slack_reaction_added/extension/adapter.rb
149
+ - lib/ruboty/slack_reaction_added/extension/client.rb
150
+ - lib/ruboty/slack_reaction_added/extension/message.rb
151
+ - lib/ruboty/slack_reaction_added/handlers/handler.rb
152
+ - lib/ruboty/slack_reaction_added/version.rb
153
+ - ruboty-slack_reaction_added.gemspec
154
+ - run.sh
155
+ homepage: https://github.com/srz-zumix/ruboty-slack_reaction_added
156
+ licenses:
157
+ - MIT
158
+ metadata: {}
159
+ post_install_message:
160
+ rdoc_options: []
161
+ require_paths:
162
+ - lib
163
+ required_ruby_version: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ required_rubygems_version: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ requirements: []
174
+ rubygems_version: 3.2.3
175
+ signing_key:
176
+ specification_version: 4
177
+ summary: Slack reaction added extension for Ruboty
178
+ test_files: []