slackrb 0.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +5 -0
- data/.rspec +3 -0
- data/.rubocop.yml +29 -0
- data/.rubocop_todo.yml +49 -0
- data/CHANGELOG.md +219 -0
- data/Dangerfile +5 -0
- data/Gemfile +20 -0
- data/LICENSE.md +22 -0
- data/README.md +766 -0
- data/Rakefile +21 -0
- data/lib/config/application.rb +14 -0
- data/lib/config/boot.rb +8 -0
- data/lib/config/environment.rb +5 -0
- data/lib/slack-ruby-bot/about.rb +9 -0
- data/lib/slack-ruby-bot/app.rb +56 -0
- data/lib/slack-ruby-bot/bot.rb +19 -0
- data/lib/slack-ruby-bot/client.rb +65 -0
- data/lib/slack-ruby-bot/commands/about.rb +14 -0
- data/lib/slack-ruby-bot/commands/base.rb +158 -0
- data/lib/slack-ruby-bot/commands/help.rb +43 -0
- data/lib/slack-ruby-bot/commands/hi.rb +16 -0
- data/lib/slack-ruby-bot/commands/support/attrs.rb +36 -0
- data/lib/slack-ruby-bot/commands/support/help.rb +84 -0
- data/lib/slack-ruby-bot/commands/support/match.rb +23 -0
- data/lib/slack-ruby-bot/commands/unknown.rb +13 -0
- data/lib/slack-ruby-bot/commands.rb +7 -0
- data/lib/slack-ruby-bot/config.rb +38 -0
- data/lib/slack-ruby-bot/hooks/hello.rb +35 -0
- data/lib/slack-ruby-bot/hooks/hook_support.rb +45 -0
- data/lib/slack-ruby-bot/hooks/message.rb +56 -0
- data/lib/slack-ruby-bot/hooks/set.rb +45 -0
- data/lib/slack-ruby-bot/hooks.rb +6 -0
- data/lib/slack-ruby-bot/mvc/controller/base.rb +172 -0
- data/lib/slack-ruby-bot/mvc/model/base.rb +27 -0
- data/lib/slack-ruby-bot/mvc/mvc.rb +7 -0
- data/lib/slack-ruby-bot/mvc/view/base.rb +30 -0
- data/lib/slack-ruby-bot/mvc.rb +3 -0
- data/lib/slack-ruby-bot/rspec/support/bots_for_tests.rb +35 -0
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/it_behaves_like_a_slack_bot.rb +16 -0
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/not_respond.rb +25 -0
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_error.rb +36 -0
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_slack_message.rb +34 -0
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/respond_with_slack_messages.rb +45 -0
- data/lib/slack-ruby-bot/rspec/support/slack-ruby-bot/start_typing.rb +32 -0
- data/lib/slack-ruby-bot/rspec/support/slack_api_key.rb +10 -0
- data/lib/slack-ruby-bot/rspec/support/slack_ruby_bot_configure.rb +15 -0
- data/lib/slack-ruby-bot/rspec/support/spec_helpers.rb +14 -0
- data/lib/slack-ruby-bot/rspec.rb +14 -0
- data/lib/slack-ruby-bot/server.rb +88 -0
- data/lib/slack-ruby-bot/support/loggable.rb +25 -0
- data/lib/slack-ruby-bot/version.rb +5 -0
- data/lib/slack-ruby-bot.rb +29 -0
- data/lib/slack_ruby_bot.rb +3 -0
- data/screenshots/aliases.gif +0 -0
- data/screenshots/create-classic-app.png +0 -0
- data/screenshots/demo.gif +0 -0
- data/screenshots/dms.gif +0 -0
- data/screenshots/help.png +0 -0
- data/screenshots/market.gif +0 -0
- data/screenshots/weather.gif +0 -0
- data/slack-ruby-bot.gemspec +32 -0
- data/slack.png +0 -0
- metadata +244 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 6b7e4a4f7bd5aed0ee09d3b31ba3795b4da698c18b621985f2a993a29f5bc96e
|
4
|
+
data.tar.gz: db94d46aa00e1e00d80d6f18cf87732a5b01989bfeda5aadf97caf0eb90e22bf
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 5df2e15a8649a7f7877933fab0a629d6e06f004c52303fef7b166d30a95bb48f39ec53048bb438d5a8883e6026c1c5f5d9190966810ec5d6735ac28a33ab97b0
|
7
|
+
data.tar.gz: c677abf7a9bb9d18608bd4b762f8882e7a3d8ea6e935ccf642c699210fe74be2f2644d99086e2d33ea917bf36850e415a69bdd8d9b2941c4cbfcceba67af481b
|
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
AllCops:
|
2
|
+
TargetRubyVersion: 2.3
|
3
|
+
Exclude:
|
4
|
+
- vendor/**/*
|
5
|
+
- examples/**/vendor/**/*
|
6
|
+
- bin/**/*
|
7
|
+
|
8
|
+
Metrics:
|
9
|
+
Enabled: false
|
10
|
+
|
11
|
+
Layout/LineLength:
|
12
|
+
Max: 512
|
13
|
+
|
14
|
+
Style/Documentation:
|
15
|
+
Enabled: false
|
16
|
+
|
17
|
+
Style/HashEachMethods:
|
18
|
+
Enabled: true
|
19
|
+
|
20
|
+
Style/HashTransformKeys:
|
21
|
+
Enabled: true
|
22
|
+
|
23
|
+
Style/HashTransformValues:
|
24
|
+
Enabled: true
|
25
|
+
|
26
|
+
Style/ModuleFunction:
|
27
|
+
Enabled: false
|
28
|
+
|
29
|
+
inherit_from: .rubocop_todo.yml
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config`
|
3
|
+
# on 2020-06-27 10:38:47 -0400 using RuboCop version 0.80.1.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 1
|
10
|
+
Lint/DuplicateMethods:
|
11
|
+
Exclude:
|
12
|
+
- 'lib/slack-ruby-bot/hooks/set.rb'
|
13
|
+
|
14
|
+
# Offense count: 1
|
15
|
+
# Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts, AllowedAcronyms.
|
16
|
+
# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
|
17
|
+
Naming/FileName:
|
18
|
+
Exclude:
|
19
|
+
- 'lib/slack-ruby-bot.rb'
|
20
|
+
|
21
|
+
# Offense count: 2
|
22
|
+
# Configuration parameters: EnforcedStyle.
|
23
|
+
# SupportedStyles: snake_case, normalcase, non_integer
|
24
|
+
Naming/VariableNumber:
|
25
|
+
Exclude:
|
26
|
+
- 'spec/slack-ruby-bot/hooks/set_spec.rb'
|
27
|
+
|
28
|
+
# Offense count: 1
|
29
|
+
# Configuration parameters: EnforcedStyle.
|
30
|
+
# SupportedStyles: inline, group
|
31
|
+
Style/AccessModifierDeclarations:
|
32
|
+
Exclude:
|
33
|
+
- 'lib/slack-ruby-bot/hooks/hook_support.rb'
|
34
|
+
|
35
|
+
# Offense count: 5
|
36
|
+
Style/DoubleNegation:
|
37
|
+
Exclude:
|
38
|
+
- 'lib/slack-ruby-bot/client.rb'
|
39
|
+
- 'lib/slack-ruby-bot/commands/base.rb'
|
40
|
+
- 'lib/slack-ruby-bot/config.rb'
|
41
|
+
|
42
|
+
# Offense count: 1
|
43
|
+
# Cop supports --auto-correct.
|
44
|
+
# Configuration parameters: AutoCorrect, EnforcedStyle, IgnoredMethods.
|
45
|
+
# SupportedStyles: predicate, comparison
|
46
|
+
Style/NumericPredicate:
|
47
|
+
Exclude:
|
48
|
+
- 'spec/**/*'
|
49
|
+
- 'examples/market/marketbot.rb'
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,219 @@
|
|
1
|
+
### 0.16.2 (Next)
|
2
|
+
|
3
|
+
* Your contribution here.
|
4
|
+
|
5
|
+
### 0.16.1 (2020/12/4)
|
6
|
+
|
7
|
+
* [#271](https://github.com/slack-ruby/slack-ruby-bot/pull/271): Added explicit dependency on `activesupport` - [@dblock](https://github.com/dblock).
|
8
|
+
|
9
|
+
### 0.16.0 (2020/7/26)
|
10
|
+
|
11
|
+
* [#263](https://github.com/slack-ruby/slack-ruby-bot/pull/263): Removed Giphy support - [@dblock](https://github.com/dblock).
|
12
|
+
* [#260](https://github.com/slack-ruby/slack-ruby-bot/pull/260): Added a brief migration guide - [@wasabigeek](https://github.com/wasabigeek).
|
13
|
+
* [#264](https://github.com/slack-ruby/slack-ruby-bot/pull/264): Added TOC to README - [@dblock](https://github.com/dblock).
|
14
|
+
* [#265](https://github.com/slack-ruby/slack-ruby-bot/pull/265): Made `allow_bot_messages` and `allow_message_loops` available in `SlackRubyBot::Client` - [@dblock](https://github.com/dblock).
|
15
|
+
* [#266](https://github.com/slack-ruby/slack-ruby-bot/pull/266): Removed deprecated `Server#hooks` - [@dblock](https://github.com/dblock).
|
16
|
+
* [#267](https://github.com/slack-ruby/slack-ruby-bot/pull/267): Require Faraday >= 1.0 - [@dblock](https://github.com/dblock).
|
17
|
+
|
18
|
+
### 0.15.0 (2020/5/8)
|
19
|
+
|
20
|
+
* [#258](https://github.com/slack-ruby/slack-ruby-bot/pull/258): Extract development dependencies (VCR) from shared rspec configuraion - [@dikond](https://github.com/dikond).
|
21
|
+
* [#256](https://github.com/slack-ruby/slack-ruby-bot/pull/256): Allow command matcher to receive no-break spaces as regular spaces - [@MichaelM-Shopify](https://github.com/MichaelM-Shopify), [@dblock](https://github.com/dblock).
|
22
|
+
* [#254](https://github.com/slack-ruby/slack-ruby-bot/pull/254): Allow setting of `config.token` and `config.aliases` in initializer - [@wasabigeek](https://github.com/wasabigeek).
|
23
|
+
* [#253](https://github.com/slack-ruby/slack-ruby-bot/pull/253): Remove reference to unsupported Giphy content rating - [@wasabigeek](https://github.com/wasabigeek).
|
24
|
+
|
25
|
+
### 0.14.0 (2020/4/2)
|
26
|
+
|
27
|
+
* [#250](https://github.com/slack-ruby/slack-ruby-bot/pull/250): Added `config.allow_bot_messages`, defaults to `false` - [@dblock](https://github.com/dblock).
|
28
|
+
|
29
|
+
### 0.13.0 (2020/3/28)
|
30
|
+
|
31
|
+
* [#244](https://github.com/slack-ruby/slack-ruby-bot/pull/244): Change log message when the bot is reconnected - [@wasabigeek](https://github.com/wasabigeek).
|
32
|
+
* [#209](https://github.com/slack-ruby/slack-ruby-bot/pull/209): Allow `respond_to_slack_message` and `respond_to_slack_messages` without arguments - [@dblock](https://github.com/dblock).
|
33
|
+
* [#216](https://github.com/slack-ruby/slack-ruby-bot/pull/216): Added `start_typing` RSpec matcher - [@dblock](https://github.com/dblock).
|
34
|
+
* [#214](https://github.com/slack-ruby/slack-ruby-bot/pull/214): Add passenger deployment documentation - [@cybercrediators](https://github.com/cybercrediators).
|
35
|
+
* [#220](https://github.com/slack-ruby/slack-ruby-bot/pull/220): Updated examples/market to pull from IEX instead of defunct yahoo service - [@corprew](https://github.com/corprew).
|
36
|
+
* [#246](https://github.com/slack-ruby/slack-ruby-bot/pull/246): Drop support for Ruby 2.2 - [@dblock](https://github.com/dblock).
|
37
|
+
|
38
|
+
### 0.12.0 (2019/2/25)
|
39
|
+
|
40
|
+
* [#203](https://github.com/slack-ruby/slack-ruby-bot/pull/203): Removing restart logic - [@RodneyU215](https://github.com/RodneyU215).
|
41
|
+
|
42
|
+
### 0.11.2 (2018/12/1)
|
43
|
+
|
44
|
+
* [#198](https://github.com/slack-ruby/slack-ruby-bot/pull/198): Recommend using `async-websocket` instead of `celluloid-io` - [@dblock](https://github.com/dblock).
|
45
|
+
* [#202](https://github.com/slack-ruby/slack-ruby-bot/pull/202): Allow frozen string in Hooks::Message - [@jonosenior](https://github.com/jonosenior).
|
46
|
+
|
47
|
+
### 0.11.1 (2018/5/6)
|
48
|
+
|
49
|
+
* [#187](https://github.com/slack-ruby/slack-ruby-bot/pull/187): Added support for the [official Giphy SDK](https://github.com/Giphy/giphy-ruby-client) - [@dblock](https://github.com/dblock).
|
50
|
+
* [#185](https://github.com/slack-ruby/slack-ruby-bot/pull/185): Log backtrace of exceptions - [@dblock](https://github.com/dblock).
|
51
|
+
|
52
|
+
### 0.11.0 (2018/4/2)
|
53
|
+
|
54
|
+
* [#182](https://github.com/slack-ruby/slack-ruby-bot/pull/182): Refactor CommandsHelper class and Help module - [@mdudzinski](https://github.com/mdudzinski).
|
55
|
+
* [#180](https://github.com/slack-ruby/slack-ruby-bot/pull/180): Allow to respond to text in attachments #177 - [@mdudzinski](https://github.com/mdudzinski).
|
56
|
+
* [#173](https://github.com/slack-ruby/slack-ruby-bot/pull/173): Exposing SlackRubyBot::CommandsHelper.find_command_help_attrs - [@alexagranov](https://github.com/alexagranov).
|
57
|
+
* [#179](https://github.com/slack-ruby/slack-ruby-bot/pull/179): Allow multiline expression - [@tiagotex](https://github.com/tiagotex).
|
58
|
+
* [#183](https://github.com/slack-ruby/slack-ruby-bot/pull/183): Add missing test dependency to readme.md - [@hoshinotsuyoshi](https://github.com/hoshinotsuyoshi).
|
59
|
+
|
60
|
+
### 0.10.5 (2017/10/15)
|
61
|
+
|
62
|
+
* Refactored `SlackRubyBot::MVC::Controller::Base`, consolidated ivar handling, centralized object allocations and DRYed up the code - [@chuckremes](https://github.com/chuckremes).
|
63
|
+
* [#157](https://github.com/slack-ruby/slack-ruby-bot/pull/157): Added `respond_with_slack_messages` expectation - [@gcraig99](https://github.com/gcraig99).
|
64
|
+
* [#160](https://github.com/slack-ruby/slack-ruby-bot/pull/160): Fixed `respond_with_slack_message(s)` expectation failures - [@gcraig99](https://github.com/gcraig99).
|
65
|
+
* [#163](https://github.com/slack-ruby/slack-ruby-bot/pull/163): Allow `command` to accept regular expressions - [@kstole](https://github.com/kstole).
|
66
|
+
* [#166](https://github.com/slack-ruby/slack-ruby-bot/pull/166): Allow special characters and capitals in bot aliases - [@kstole](https://github.com/kstole).
|
67
|
+
|
68
|
+
### 0.10.4 (2017/7/5)
|
69
|
+
|
70
|
+
* [#149](https://github.com/slack-ruby/slack-ruby-bot/pull/149): Add `logger` configuration to set a custom logger - [@upscent](https://github.com/upscent).
|
71
|
+
* [#147](https://github.com/slack-ruby/slack-ruby-bot/pull/147): Adds `server.on` as a shortcut for `hooks.add` and deprecate `hooks` method - [@laertispappas](https://github.com/laertispappas).
|
72
|
+
* [#143](https://github.com/slack-ruby/slack-ruby-bot/pull/143): Provide `permitted?` method to allow for simple authorization extensions - [@chuckremes](https://github.com/chuckremes).
|
73
|
+
|
74
|
+
### 0.10.3 (2017/6/15)
|
75
|
+
|
76
|
+
* [#145](https://github.com/slack-ruby/slack-ruby-bot/pull/145): Map multiple command strings to same controller method - [@chuckremes](https://github.com/chuckremes).
|
77
|
+
* [#144](https://github.com/slack-ruby/slack-ruby-bot/pull/144): Support usage of commands with embedded spaces when using Controller methods - [@chuckremes](https://github.com/chuckremes).
|
78
|
+
|
79
|
+
### 0.10.2 (2017/6/3)
|
80
|
+
|
81
|
+
* [#137](https://github.com/slack-ruby/slack-ruby-bot/pull/137): Add Model-View-Controller classes to allow for more explicit control over how `command`s are designed - [@chuckremes](https://github.com/chuckremes).
|
82
|
+
* [#130](https://github.com/slack-ruby/slack-ruby-bot/issues/130): Added test dependencies in TUTORIAL.md - [@jbristow](https://github.com/jbristow).
|
83
|
+
|
84
|
+
### 0.10.1 (2017/2/12)
|
85
|
+
|
86
|
+
* [#113](https://github.com/slack-ruby/slack-ruby-bot/issues/113): Fixed commands in subclassed `SlackRubyBot::Bot` - [@dblock](https://github.com/dblock).
|
87
|
+
|
88
|
+
### 0.10.0 (2017/2/9)
|
89
|
+
|
90
|
+
* [#111](https://github.com/slack-ruby/slack-ruby-bot/pull/111): Default keyword for GIFs in invalid commands has been changed from `idiot` to `understand` - [@dblock](https://github.com/dblock).
|
91
|
+
* [#98](https://github.com/slack-ruby/slack-ruby-bot/pull/98): Fixed a couple of problems in TUTORIAL.md - [@edruder](https://github.com/edruder).
|
92
|
+
* [#95](https://github.com/slack-ruby/slack-ruby-bot/pull/95): Log team name and ID on successful connection - [@dblock](https://github.com/dblock).
|
93
|
+
* [#94](https://github.com/slack-ruby/slack-ruby-bot/pull/94): Use the slack-ruby-danger gem - [@dblock](https://github.com/dblock).
|
94
|
+
* [#86](https://github.com/dblock/slack-ruby-bot/pull/86): Fix: help statements from classes that do not directly inherit from `Base` appear in `bot help` - [@maclover7](https://github.com/maclover7).
|
95
|
+
* [#96](https://github.com/slack-ruby/slack-ruby-bot/pull/96): Support help statements in anonymous command and bot classes - [@dblock](https://github.com/dblock).
|
96
|
+
* [#75](https://github.com/slack-ruby/slack-ruby-bot/pull/101): Fix: Guarantee order of commands based on load order - [@gconklin](https://github.com/gconklin).
|
97
|
+
|
98
|
+
### 0.9.0 (2016/8/29)
|
99
|
+
|
100
|
+
* [#89](https://github.com/slack-ruby/slack-ruby-bot/pull/89): Drop giphy dependency - [@tmsrjs](https://github.com/tmsrjs).
|
101
|
+
* [#92](https://github.com/slack-ruby/slack-ruby-bot/pull/92): Added [danger](http://danger.systems), PR linting - [@dblock](https://github.com/dblock).
|
102
|
+
|
103
|
+
### 0.8.2 (2016/7/10)
|
104
|
+
|
105
|
+
* [#85](https://github.com/slack-ruby/slack-ruby-bot/issues/85): Fix: regression in bot instance logging - [@dblock](https://github.com/dblock).
|
106
|
+
|
107
|
+
### 0.8.1 (2016/7/10)
|
108
|
+
|
109
|
+
* [#69](https://github.com/slack-ruby/slack-ruby-bot/pull/69): Ability to add help info to bot and commands - [@accessd](https://github.com/accessd).
|
110
|
+
* [#75](https://github.com/slack-ruby/slack-ruby-bot/issues/75): Guarantee order of command evaluation - [@dblock](https://github.com/dblock).
|
111
|
+
* [#76](https://github.com/slack-ruby/slack-ruby-bot/issues/76): Infinity error when app disabled - [@slayershadow](https://github.com/SlayerShadow).
|
112
|
+
* [#81](https://github.com/slack-ruby/slack-ruby-bot/pull/81): Removed dependency on Bundler - [@derekddecker](https://github.com/derekddecker).
|
113
|
+
* [#84](https://github.com/slack-ruby/slack-ruby-bot/pull/84): Removed dependency on ActiveSupport - [@rmulligan](https://github.com/rmulligan).
|
114
|
+
|
115
|
+
### 0.8.0 (2016/5/5)
|
116
|
+
|
117
|
+
* [#32](https://github.com/slack-ruby/slack-ruby-bot/issues/32): Don't include `faye-websocket` by default, support `celluloid-io` - [@dblock](https://github.com/dblock).
|
118
|
+
* [#54](https://github.com/slack-ruby/slack-ruby-bot/pull/54): Improvements to Hook configuration - [@dramalho](https://github.com/dramalho).
|
119
|
+
|
120
|
+
### 0.7.0 (2016/3/6)
|
121
|
+
|
122
|
+
* Improved regular expression matching performance with less matching per command - [@dblock](https://github.com/dblock).
|
123
|
+
* Don't attempt to pre-authenticate via `auth!`, use RealTime client local store - [@dblock](https://github.com/dblock).
|
124
|
+
* Extended `match` with `scan` that can make multiple captures - [@dblock](https://github.com/dblock).
|
125
|
+
|
126
|
+
### 0.6.2 (2016/2/4)
|
127
|
+
|
128
|
+
* [#44](https://github.com/slack-ruby/slack-ruby-bot/pull/44): Bot graceful shutdown - [@accessd](https://github.com/accessd).
|
129
|
+
|
130
|
+
### 0.6.1 (2016/1/29)
|
131
|
+
|
132
|
+
* [#43](https://github.com/slack-ruby/slack-ruby-bot/issues/43): Issuing a `bot` command terminates bot - [@dblock](https://github.com/dblock).
|
133
|
+
* [#40](https://github.com/slack-ruby/slack-ruby-bot/pull/40): Added `SlackRubyBot::Config.reset!` - [@accessd](https://github.com/accessd).
|
134
|
+
|
135
|
+
### 0.6.0 (2016/1/9)
|
136
|
+
|
137
|
+
* Deprecated `SlackRubyBot::Base#send_message`, `send_message_with_gif` and `send_gif` in favor of `client.say` - [@dblock](https://github.com/dblock).
|
138
|
+
|
139
|
+
### 0.5.5 (2016/1/4)
|
140
|
+
|
141
|
+
* Added `SlackRubyBot::Bot` DSL sugar - [@dblock](https://github.com/dblock).
|
142
|
+
|
143
|
+
### 0.5.4 (2016/1/3)
|
144
|
+
|
145
|
+
* Enable setting `send_gifs` per instance of `SlackRubyBot::Server` - [@dblock](https://github.com/dblock).
|
146
|
+
|
147
|
+
### 0.5.3 (2015/12/28)
|
148
|
+
|
149
|
+
* [#36](https://github.com/slack-ruby/slack-ruby-bot/issues/36): Fix: non-English bot aliases now work - [@dblock](https://github.com/dblock).
|
150
|
+
|
151
|
+
### 0.5.2 (2015/12/26)
|
152
|
+
|
153
|
+
* Enable setting bot aliases per instance of `SlackRubyBot::Server` - [@dblock](https://github.com/dblock).
|
154
|
+
|
155
|
+
### 0.5.1 (2015/12/23)
|
156
|
+
|
157
|
+
* Fix: restart sync vs. async - [@dblock](https://github.com/dblock).
|
158
|
+
* [#33](https://github.com/slack-ruby/slack-ruby-bot/pull/33): `SlackRubyBot::App.instance` now creates an instance of the class on which it is called - [@dmvt](https://github.com/dmvt).
|
159
|
+
|
160
|
+
### 0.5.0 (2015/12/7)
|
161
|
+
|
162
|
+
* Disable animated GIFs via `SlackRubyBot::Config.send_gifs` or ENV['SLACK_RUBY_BOT_SEND_GIFS'] - [@dblock](https://github.com/dblock).
|
163
|
+
* `SlackRubyBot::Server` supports `restart!` with retry - [@dblock](https://github.com/dblock).
|
164
|
+
* `SlackRubyBot::Server` publicly supports `auth!`, `start!` and `start_async` that make up a `run` loop - [@dblock](https://github.com/dblock).
|
165
|
+
* Extracted `SlackRubyBot::Server` from `SlackRubyBot::App` - [@dblock](https://github.com/dblock).
|
166
|
+
* Fix: explicitly require 'giphy' - [@dblock](https://github.com/dblock).
|
167
|
+
* Fix: undefined method `stop` for `Slack::RealTime::Client` - [@dblock](https://github.com/dblock).
|
168
|
+
* [#29](https://github.com/slack-ruby/slack-ruby-bot/pull/29): Fixed bot failing to correctly respond to unknown commands when queried with format `@botname` - [@crayment](https://github.com/crayment).
|
169
|
+
* [#30](https://github.com/slack-ruby/slack-ruby-bot/pull/30): Fix RegexpError when parsing command - [@kuboshizuma](https://github.com/kuboshizuma).
|
170
|
+
|
171
|
+
### 0.4.5 (2015/10/29)
|
172
|
+
|
173
|
+
* [#23](https://github.com/slack-ruby/slack-ruby-bot/pull/23): Fixed `match` that forced bot name into the expression being evaluated - [@dblock](https://github.com/dblock).
|
174
|
+
* [#22](https://github.com/slack-ruby/slack-ruby-bot/issues/22), [slack-ruby-client#17](https://github.com/slack-ruby/slack-ruby-client/issues/17): Do not respond to messages from self, override with `allow_message_loops` - [@dblock](https://github.com/dblock).
|
175
|
+
|
176
|
+
### 0.4.4 (2015/10/5)
|
177
|
+
|
178
|
+
* [#17](https://github.com/slack-ruby/slack-ruby-bot/issues/17): Address bot by `name:` - [@dblock](https://github.com/dblock).
|
179
|
+
* [#19](https://github.com/slack-ruby/slack-ruby-bot/issues/19): Retry on `Faraday::Error::TimeoutError`, `TimeoutError` and `SSLError` - [@dblock](https://github.com/dblock).
|
180
|
+
* [#3](https://github.com/slack-ruby/slack-ruby-bot/issues/3): Retry on `migration_in_progress` errors during `rtm.start` - [@dblock](https://github.com/dblock).
|
181
|
+
* Respond to direct messages without being addressed by name - [@dblock](https://github.com/dblock).
|
182
|
+
* Added `send_gif`, to allow GIFs to be sent without text - [@maclover7](https://github.com/maclover7).
|
183
|
+
|
184
|
+
### 0.4.3 (2015/8/21)
|
185
|
+
|
186
|
+
* [#13](https://github.com/slack-ruby/slack-ruby-bot/issues/13): You can now address the bot by its Slack @id - [@dblock](https://github.com/dblock).
|
187
|
+
|
188
|
+
### 0.4.2 (2015/8/20)
|
189
|
+
|
190
|
+
* [#12](https://github.com/slack-ruby/slack-ruby-bot/issues/12): Added support for bot aliases - [@dblock](https://github.com/dblock).
|
191
|
+
|
192
|
+
### 0.4.1 (2015/7/25)
|
193
|
+
|
194
|
+
* Use a real client in `respond_with_slack_message` expectaions - [@dblock](https://github.com/dblock).
|
195
|
+
|
196
|
+
### 0.4.0 (2015/7/25)
|
197
|
+
|
198
|
+
* Using [slack-ruby-client](https://github.com/slack-ruby/slack-ruby-client) - [@dblock](https://github.com/dblock).
|
199
|
+
* Use RealTime API to post messages - [@dblock](https://github.com/dblock).
|
200
|
+
|
201
|
+
### 0.3.1 (2015/7/21)
|
202
|
+
|
203
|
+
* [#8](https://github.com/slack-ruby/slack-ruby-bot/issues/8): Fix: `undefined method 'strip!' for nil:NilClass` on nil message - [@dblock](https://github.com/dblock).
|
204
|
+
|
205
|
+
### 0.3.0 (2015/7/19)
|
206
|
+
|
207
|
+
* [#5](https://github.com/slack-ruby/slack-ruby-bot/issues/5): Added support for free-formed routes via `match` - [@dblock](https://github.com/dblock).
|
208
|
+
* [#6](https://github.com/slack-ruby/slack-ruby-bot/issues/6): Commands and operators take blocks - [@dblock](https://github.com/dblock).
|
209
|
+
* [#4](https://github.com/slack-ruby/slack-ruby-bot/issues/4): Messages are posted with `as_user: true` by default - [@dblock](https://github.com/dblock).
|
210
|
+
|
211
|
+
### 0.2.0 (2015/7/10)
|
212
|
+
|
213
|
+
* Sending `send_message` with nil or empty text will yield `Nothing to see here.` with a GIF instead of `no_text` - [@dblock](https://github.com/dblock).
|
214
|
+
* Added support for operators with `operator [name]` - [@dblock](https://github.com/dblock).
|
215
|
+
* Added support for custom commands with `command [name]` - [@dblock](https://github.com/dblock).
|
216
|
+
|
217
|
+
### 0.1.0 (2015/6/2)
|
218
|
+
|
219
|
+
* Initial public release - [@dblock](https://github.com/dblock).
|
data/Dangerfile
ADDED
data/Gemfile
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
source 'http://rubygems.org'
|
4
|
+
|
5
|
+
gem 'botwayrb'
|
6
|
+
|
7
|
+
gemspec
|
8
|
+
|
9
|
+
if ENV.key?('CONCURRENCY')
|
10
|
+
case ENV['CONCURRENCY']
|
11
|
+
when 'async-websocket'
|
12
|
+
gem 'async-websocket', '~> 0.8.0', require: false
|
13
|
+
else
|
14
|
+
gem ENV['CONCURRENCY'], require: false
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
group :test do
|
19
|
+
gem 'slack-ruby-danger', '~> 0.2.0', require: false
|
20
|
+
end
|
data/LICENSE.md
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2015-2020 Daniel Doubrovkine, Artsy and Contributors
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|